下面是几种排序的用Java的实现:
冒泡排序
public class BubbleSortDemo{ /**//* * 从前到后扫描序列,比较相邻的两个元素大小,若发现逆序则交换位置 , * 使最大的达到序列的最后位置。然后再从后到前扫描剩下的序列,如此 。 * 当数列有序后不再继续循环 */ private void bubbleSort(int[] numlist) { int in,out,temp; boolean flag = false; //从后到前,从最后一项开始到第二项扫描数列。 for( ut=numlist.length-1; out>0;out--) { flag = true; //从第一项到第out项扫描数列 for(in=0; innumlist[in+1]) { temp = numlist[in]; numlist[in] = numlist[in+1]; numlist[in+1] = temp; flag = false; } } if(flag) break; for(int i=0; i<numlist.length; i++) System.out.print(numlist[i]+ " "); System.out.println(); } } //输出数列 public void display(int[] numlist) { for(int i=0; i<numlist.length; i++) System.out.print(numlist[i]+ " "); System.out.println(); } public static void main(String[] args) { BubbleSortDemo sort = new BubbleSortDemo(); int num[] = {4,11,17,6,1,2,13,15}; System.out.println("原序是:"); sort.display(num); System.out.println("每次冒泡排序后是:"); sort.bubbleSort(num); }}
插入排序
public class InsertSortDemo{ private void insertSort(int[] numlist) { int in, out,temp; //从out处分开数列 for(out=1; out0 && temp<numlist[in-1]) //数 列值大于排序值时, { numlist[in] = numlist[in-1]; //数列向右移一位 --in; //指针向左移一位 } numlist[in] = temp; //插入待排序的数据 } } public void display(int[] numlist) { for(int i=0; i<numlist.length; i++) System.out.print(numlist[i]+ " "); System.out.println(); } public static void main(String[] args) { InsertSortDemo sort = new InsertSortDemo(); int num[] = {4,11,17,6,1,2,13,15}; System.out.print("原序是:"); sort.display(num); System.out.print("插入排序是:"); sort.insertSort(num); sort.display(num); }}
选择排序
public class SelectSortDemo{ /**//* * 首先找出最小的数据,让它与第一项互换,这样最小的数据项就在第一 位。 * 接着从剩下的元素中找出最小的元素,与第二项互换,使第二小的元素 放在第二位, * 依此类推,直至整个数列有序。 */ private void selectSort(int[] numlist) { int min,in,out,temp; for(out=0; out<numlist.length; out++) { min = out; //将out项设为最小项 for(in=out+1;in<numlist.length; in++) //从第二 项开始扫描 if(numlist[in]<numlist[min]) //找到最 小项in,将in作为最小项 min = in; //out项与最小值交换 temp = numlist[out]; numlist[out] = numlist[min]; numlist[min] = temp; } } public void display(int[] numlist) { for(int i=0; i<numlist.length; i++) System.out.print(numlist[i]+ " "); System.out.println(); } public static void main(String[] args) { SelectSortDemo sort = new SelectSortDemo(); int num[] = {4,11,17,6,1,2,13,15}; System.out.print("原序是:"); sort.display(num); System.out.print("选择排序是:"); sort.selectSort(num); sort.display(num); }}
筑起梦想的鸟巢,开始人生的长跑,领先每回的冲刺,