yongsky 发表于 2013-2-3 14:07:58

Java数据结构和算法--排序

马上要找工作了,所以的把原来的重要的课程再回顾一下,我重要复习的是数据结构,在网上下了<<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+" ");}System.out.println();b.bubble();for(int i = 0;i < arr.length;i++){System.out.print(arr+" ");}                  System.exit(0);}/** * 冒泡排序 */public void bubble(){for(int i = arr.length-1;i > 1;i--){for(int j = 0;j < i;j++){if(arr > arr)swap(j,j+1);}}}/** * 交换数组中的两个数 * @param one * @param two */public void swap(int one,int two){long temp = arr;arr = arr;arr = temp;}static long arr[] = new long;/** * 随机初始化一个长度为20的数组 */static{for(int i = 0;i < arr.length;i++){arr = (long) (Math.random()*100);}}}

(2)选择排序
package ChapterOne;public class SelectSort {/** * 初始化一个长度为size的数组 * @param size */public SelectSort(int size){arr = new long;for(int i = 0;i < size;i++){arr = (long) (Math.random()*100);}}/** * 选择排序 * @return */public long[] sort(){for(int i = 0;i < arr.length;i++){int minIndex = findMin(i);long min = arr;//子数组中的所有的数后移一个位置for(int j = minIndex;j > 0;j--)arr = arr;//把最小的数插入到最前端arr = 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 > arr)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+" ");System.out.println();System.exit(0);}public void print(){for(int i = 0;i < arr.length;i++){System.out.print(arr+" ");}System.out.println();}long arr[];}
页: [1]
查看完整版本: Java数据结构和算法--排序