麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

java 復習003 之排序篇

2019-11-14 21:02:08
字體:
來源:轉載
供稿:網友
java 復習003 之排序篇

由java 復習003跳轉過來的C語言實現版見some-sort-algorithms

  1. 快速排序(不穩定 O(n log n))

    packagevell.bibi.sort_algorithms;importvell.bibi.sort_algorithms.util.vell001;publicclassQuickSort{publicstaticintpartition(int[]a,intlow,inthigh){intcup;cup=a[low];//保存關鍵字while(high>low){while(high>low&&a[high]>=cup)high--;//由high開始找,找到小于關鍵字的位置a[low]=a[high];while(high>low&&a[low]<=cup)low++;//由low開始找,找到大于關鍵字的位置a[high]=a[low];}a[low]=cup;returnlow;}publicstaticvoidsort(int[]a,intlow,inthigh){if(high<=low)return;intmid=partition(a,low,high);//分成兩個區sort(a,low,mid-1);sort(a,mid+1,high);}publicstaticvoidmain(String[]args){int[]a=vell001.getRandomList(10,100);vell001.PRintList(a);sort(a,0,a.length-1);vell001.printList(a);}}
  2. 冒泡排序 (穩定 O(n2))

    packagevell.bibi.sort_algorithms;importvell.bibi.sort_algorithms.util.vell001;publicclassBubbleSort{publicstaticvoidsort(int[]a){inti,j,cup;booleanflag;for(i=a.length,flag=true;flag&&i>0;i--){flag=false;for(j=0;j<i-1;j++){if(a[j]>a[j+1]){cup=a[j];a[j]=a[j+1];a[j+1]=cup;flag=true;}}}}publicstaticvoidmain(String[]args){int[]a=vell001.getRandomList(10,100);vell001.printList(a);sort(a);vell001.printList(a);}}
  3. 希爾排序(不穩定 O(n log n))

    packagevell.bibi.sort_algorithms;importvell.bibi.sort_algorithms.util.vell001;publicclassShellSort{publicstaticvoidsort(int[]a){inti,j,d,cup;for(d=a.length/2;d>0;d=d/2){for(i=d;i<a.length;i++){cup=a[i];for(j=i-d;j>=0&&a[j]>cup;j=j-d){a[j+d]=a[j];}a[j+d]=cup;}}}publicstaticvoidmain(String[]args){int[]a=vell001.getRandomList(10,100);vell001.printList(a);sort(a);vell001.printList(a);}}
  4. 堆排序(不穩定 O(n log n))

    packagevell.bibi.sort_algorithms;importvell.bibi.sort_algorithms.util.vell001;publicclassHeapSort{publicstaticvoidheapAdjust(int[]a,intfather,intlength){intchild,cup;for(child=father*2+1,cup=a[father];child<length;father=child,child=father*2+1){if(child+1<length&&a[child+1]>a[child])child++;if(a[child]>cup){a[father]=a[child];a[child]=cup;}elsebreak;}}publicstaticvoidsort(int[]a){intcup;for(inti=a.length/2;i>=0;i--){heapAdjust(a,i,a.length);}for(inti=a.length-1;i>0;i--){cup=a[0];a[0]=a[i];a[i]=cup;heapAdjust(a,0,i);}}publicstaticvoidmain(String[]args){int[]a=vell001.getRandomList(10,100);vell001.printList(a);sort(a);vell001.printList(a);}}
  5. 歸并排序(穩定 O(n log n) 需要O(n)額外空間)

    packagevell.bibi.sort_algorithms;importvell.bibi.sort_algorithms.util.vell001;publicclassMergeSort{publicstaticvoidmerge(int[]a,intlow,intmid,inthigh){inti=low,j=mid,k=0;int[]cup=newint[high-low];while(i<mid&&j<high){if(a[i]<=a[j])cup[k++]=a[i++];elsecup[k++]=a[j++];}while(i<mid)cup[k++]=a[i++];while(j<high)cup[k++]=a[j++];for(k=0;k<cup.length;k++){a[low+k]=cup[k];}}publicstaticvoidsort(int[]a,intlow,inthigh){if(high-low<=1)return;intmid=(high+low)/2;sort(a,low,mid);sort(a,mid,high);merge(a,low,mid,high);}publicstaticvoidmain(String[]args){int[]a=vell001.getRandomList(10,100);vell001.printList(a);sort(a,0,a.length);vell001.printList(a);}}
  6. vell001.java (我的小工具庫)

    packagevell.bibi.sort_algorithms.util;publicclassvell001{publicstaticvoidprintList(int[]a){for(inti=0;i<a.length;i++){System.out.print(a[i]+"");}System.out.println();}publicstaticint[]getRandomList(intn,intmax){int[]a=newint[n];for(inti=0;i<n;i++){a[i]=(int)(Math.random()*max);}returna;}}

原文地址:http://vview.ml/2014/04/13/some-sort-algorithms-java.htmlwritten byVell Bibiposted atVBlog


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日韩在线播放中文字幕 | 成人在线精品视频 | 欧美 亚洲 视频 | 欧美日韩经典在线 | 国产精品久久久久久久久久东京 | 久色成人网 | 国产精品a一 | 中文字幕免费在线观看视频 | 一级成人欧美一区在线观看 | 成人aaaa免费全部观看 | 欧美一级片一区 | 久久色在线 | 免费国产视频大全入口 | 日韩黄网站 | 99热久草 | 精品国产一区二区三区久久久蜜 | www噜噜偷拍在线视频 | 天天色综合6 | 色网站免费观看 | 嗯哈~不行好大h双性 | 久久噜噜噜精品国产亚洲综合 | 久久精品欧美视频 | 久久爽久久爽久久av东京爽 | 欧美激情精品久久久久 | 久操福利视频 | av资源在线 | 成人午夜高清 | 一级黄色av电影 | 九九热精品视频在线免费观看 | 黄色1级视频| 日韩在线欧美在线 | 久久久久av电影 | 久久久久九九九女人毛片 | 国产1区视频 | 神马顶级推理片免费看 | 色玖玖综合 | 欧美精品电影一区二区 | 国产精品99久久99久久久二 | 在线播放免费人成毛片乱码 | 久草在线网址 | 国产一区二区在线免费 |