新纪实网站建设,wordpress怎么添加友情链接,上海网站建设500元,互联网服务平台单位机动车二维码冒泡排序 是一种简单的排序算法。它反复地走訪过要排序的数列#xff0c;一次比較两个元素。假设他们的顺序错误就把他们交换过来。走訪数列的工作是反复地进行直到没有再须要交换#xff0c;也就是说该数列已经排序完毕。这个算法的名字由来是由于越小的元素会经由交换慢慢“… 冒泡排序 是一种简单的排序算法。它反复地走訪过要排序的数列一次比較两个元素。假设他们的顺序错误就把他们交换过来。走訪数列的工作是反复地进行直到没有再须要交换也就是说该数列已经排序完毕。这个算法的名字由来是由于越小的元素会经由交换慢慢“浮”到数列的顶端。 public class BubbleSort{ public static void main(String[] args){ int score[] {67, 69, 75, 87, 89, 90, 99, 100}; for (int i 0; i score.length -1; i){ //最多做n-1趟排序 for(int j 0 ;j score.length - i - 1; j){ //对当前无序区间score[0......length-i-1]进行排序(j的范围非常关键这个范围是在逐步缩小的) if(score[j] score[j 1]){ //把小的值交换到后面 int temp score[j]; score[j] score[j 1]; score[j 1] temp; } } System.out.print(第 (i 1) 次排序结果); for(int a 0; a score.length; a){ System.out.print(score[a] \t); } System.out.println(); } System.out.print(终于排序结果); for(int a 0; a score.length; a){ System.out.print(score[a] \t); } }} 高速排序 之所比較快由于相比冒泡排序每次交换是跳跃式的。每次排序的时候设置一个基准点。将小于等于基准点的数所有放到基准点的左边将大于等于基准点的数所有放到基准点的右边。这样在每次交换的时候就不会像冒泡排序一样每次仅仅能在相邻的数之间进行交换交换的距离就大的多了。因此总的比較和交换次数就少了速度自然就提高了。当然在最坏的情况下仍可能是相邻的两个数进行了交换。 void quicksort(int left,int right) { int i,j,t,temp; if(leftright) return; tempa[left]; //temp中存的就是基准数 ileft; jright; while(i!j) { //顺序非常重要要先从右边開始找 while(a[j]temp ij) j--; //再找右边的 while(a[i]temp ij) i; //交换两个数在数组中的位置 if(ij) { ta[i]; a[i]a[j]; a[j]t; } } //终于将基准数归位 a[left]a[i]; a[i]temp; quicksort(left,i-1);//继续处理左边的这里是一个递归的过程 quicksort(i1,right);//继续处理右边的 这里是一个递归的过程 } 插入排序 就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置直到所有插入完成。http://www.cnblogs.com/kkun/archive/2011/11/23/2260265.html static void insertion_sort(int[] unsorted){ for (int i 1; i unsorted.Length; i){ if (unsorted[i - 1] unsorted[i]){ int temp unsorted[i]; int j i; while (j 0 unsorted[j - 1] temp){unsorted[j] unsorted[j - 1];j--;}unsorted[j] temp;}}} 转载于:https://www.cnblogs.com/mengfanrong/p/5085964.html