浏览 5678 次
锁定老帖子 主题:Java数据结构和算法--排序
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-09-29
(1)冒泡排序 package ChapterOne; public class Bubble { public static void main(String[] args) { Bubble b = new Bubble(); for(int i = 0;i < arr.length;i++){ System.out.print(arr[i]+" "); } System.out.println(); b.bubble(); for(int i = 0;i < arr.length;i++){ System.out.print(arr[i]+" "); } System.exit(0); } /** * 冒泡排序 */ public void bubble(){ for(int i = arr.length-1;i > 1;i--){ for(int j = 0;j < i;j++){ if(arr[j] > arr[j+1]) swap(j,j+1); } } } /** * 交换数组中的两个数 * @param one * @param two */ public void swap(int one,int two){ long temp = arr[one]; arr[one] = arr[two]; arr[two] = temp; } static long arr[] = new long[20]; /** * 随机初始化一个长度为20的数组 */ static{ for(int i = 0;i < arr.length;i++){ arr[i] = (long) (Math.random()*100); } } } (2)选择排序 package ChapterOne; public class SelectSort { /** * 初始化一个长度为size的数组 * @param size */ public SelectSort(int size){ arr = new long[size]; for(int i = 0;i < size;i++){ arr[i] = (long) (Math.random()*100); } } /** * 选择排序 * @return */ public long[] sort(){ for(int i = 0;i < arr.length;i++){ int minIndex = findMin(i); long min = arr[minIndex]; //子数组中的所有的数后移一个位置 for(int j = minIndex;j > 0;j--) arr[j] = arr[j-1]; //把最小的数插入到最前端 arr[0] = min; } return arr; } /** * 查找一start为起始位置到数组最后位置这段子数组中最小的一个数的位置 * @param start * @return */ public int findMin(int start){ int min = start; for(int i = min;i < arr.length;i++) if(arr[min] > arr[i]) min = i; return min; } public static void main(String[] args) { SelectSort ss = new SelectSort(10); ss.print(); long oa[] = ss.sort(); for(int i = 0;i < oa.length;i++) System.out.print(oa[i]+" "); System.out.println(); System.exit(0); } public void print(){ for(int i = 0;i < arr.length;i++){ System.out.print(arr[i]+" "); } System.out.println(); } long arr[]; } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-09-30
yongsky 写道 马上要找工作了,所以的把原来的重要的课程再回顾一下,我重要复习的是数据结构,在网上下了<<Java数据结构和算法>>这本书,准备用3个星期看完.看到不如做到,做到不如写到,我的记忆力不是很好,为了看了之后不会忘记,我把学习的体会和程序代码贴上来,以供以后参考.
一天,男孩和女孩吵架了。他不再对她说“我爱你”,
(1)冒泡排序 package ChapterOne; public class Bubble { public static void main(String[] args) { Bubble b = new Bubble(); for(int i = 0;i < arr.length;i++){ System.out.print(arr[i]+" "); } System.out.println(); b.bubble(); for(int i = 0;i < arr.length;i++){ System.out.print(arr[i]+" "); } System.exit(0); } /** * 冒泡排序 */ public void bubble(){ for(int i = arr.length-1;i > 1;i--){ for(int j = 0;j < i;j++){ if(arr[j] > arr[j+1]) swap(j,j+1); } } } /** * 交换数组中的两个数 * @param one * @param two */ public void swap(int one,int two){ long temp = arr[one]; arr[one] = arr[two]; arr[two] = temp; } static long arr[] = new long[20]; /** * 随机初始化一个长度为20的数组 */ static{ for(int i = 0;i < arr.length;i++){ arr[i] = (long) (Math.random()*100); } } } (2)选择排序 package ChapterOne; public class SelectSort { /** * 初始化一个长度为size的数组 * @param size */ public SelectSort(int size){ arr = new long[size]; for(int i = 0;i < size;i++){ arr[i] = (long) (Math.random()*100); } } /** * 选择排序 * @return */ public long[] sort(){ for(int i = 0;i < arr.length;i++){ int minIndex = findMin(i); long min = arr[minIndex]; //子数组中的所有的数后移一个位置 for(int j = minIndex;j > 0;j--) arr[j] = arr[j-1]; //把最小的数插入到最前端 arr[0] = min; } return arr; } /** * 查找一start为起始位置到数组最后位置这段子数组中最小的一个数的位置 * @param start * @return */ public int findMin(int start){ int min = start; for(int i = min;i < arr.length;i++) if(arr[min] > arr[i]) min = i; return min; } public static void main(String[] args) { SelectSort ss = new SelectSort(10); ss.print(); long oa[] = ss.sort(); for(int i = 0;i < oa.length;i++) System.out.print(oa[i]+" "); System.out.println(); System.exit(0); } public void print(){ for(int i = 0;i < arr.length;i++){ System.out.print(arr[i]+" "); } System.out.println(); } long arr[]; } 当然她也不再对他说“我也是”。一天晚上, 他们谈到了分手的事,背对背睡下。半夜, 天上打雷了。第一声雷响时,他醒了, 下意识地猛地用双手去捂她的耳朵, 才发现不知何时他又拥着她。雷声紧接着炸, 假装什么也没发生,可谁都没有睡着, 她想也许他还爱我,生怕我受一点点吓。 他想,也许她还爱我,不然她不会流泪。 爱的最高境界是经得起平淡的流年。 世界上最美的木乃侯,这是一个古老的符咒, 请在收到此消息后发经三个论坛。 等你发完后看看三天后就能得到心爱的人。 不发的话你将有霉运一个月,同学说他试过了,很灵 |
|
返回顶楼 | |
发表时间:2007-09-30
顶,祝你找到称心如意的工作
|
|
返回顶楼 | |
发表时间:2007-12-05
非常感谢楼上的兄弟,现在我已经拿到4个公司的offer了,呵呵.
|
|
返回顶楼 | |
发表时间:2008-01-05
有 什么 比较好的 数据结构 入门的书籍吗 国外的
|
|
返回顶楼 | |