《Java数据结构和算法(第二版)》中编程作业2.6
2009-08-06 16:54
267 查看
2.6 向highArray.java程序(清单2.3)的HighArray类中加入一个noDup()的方法,使之可以将数组中的所有重复数据项删除.即如果数组中有三个数据项的关键字为17, noDup()方法将会删除其中的两个.不必考虑保持数据项的顺序.一种方法是先用每一个数据项比较,并用null(或是一个不会用在真正的关键字中的特殊值)将重复的数据项覆盖掉。然后将所有的null删除,当然还要缩小数组的大小。
public void noDup() { int i,j,count = 0; for (i = 0; i < nElems; i++) { for (j = i + 1; j < nElems; j++) { if (a[j] != -1 && a[i] == a[j]) { a[j] = -1; count++; } } } long[] arr = new long[nElems - count]; for (i = 0, j = 0; i < nElems; i++) { if (a[i] != -1) { arr[j++] = a[i]; } } a = arr; nElems -= count; }
相关文章推荐
- 《Java数据结构和算法(第二版)》第2章编程作业2.6中noDup方法错误分析及纠正方法
- Java数据结构和算法(2)--《Java数据结构和算法》第二版 Robert lafore编程作业第二章
- Java数据结构和算法-作业2-编程部分
- Java数据结构和算法-作业1-编程部份
- Java数据结构和算法-作业2-问题部分
- 《Java数据结构和算法(第二版)》读书笔记
- 《Java数据结构和算法》第二版 Robert lafore 编程作业 第十四章
- 《Java数据结构和算法》第二版 Robert lafore 编程作业 第十二章
- 程序设计与算法(一)C语言程序设计CAP 第二周编程作业
- 《Java数据结构和算法》第二版 Robert lafore 编程作业 第四章
- 《Java数据结构和算法》第二版 Robert lafore 编程作业 第二章
- 《Java数据结构和算法》第二版 Robert lafore 编程作业 第十三章
- 《Java数据结构和算法》第二版 Robert lafore 编程作业 第九章
- 《Java数据结构和算法》第二版 Robert lafore 编程作业 第六章
- 吴恩达-DeepLearning.ai-Course1-Week2-实现逻辑回归算法-编程作业笔记
- 《Java数据结构和算法》第二版 Robert lafore 编程作业 第十章
- 《Java数据结构和算法》第二版 Robert lafore 编程作业 第七章
- Java数据结构和算法笔记_参考教材:Java数据结构和算法(第二版),[美] Robert lafore-数组
- Coursera普林斯顿大学算法课-编程作业1: Percolation
- Java数据结构和算法-作业1-问题部分