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

首頁 > 語言 > JavaScript > 正文

JAVA四種基本排序方法實例總結

2024-05-06 16:23:38
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了JAVA四種基本排序方法,較為詳細的總結分析了插入法、冒泡法、選擇法及Shell排序等四種常用的排序技巧,非常具有實用價值,需要的朋友可以參考下

本文實例講述了JAVA四種基本排序方法。分享給大家供大家參考。具體如下:

JAVA四種基本排序,包括冒泡法,插入法,選擇法,SHELL排序法.其中選擇法是冒泡法的改進,SHELL排序法是 插入法的改進.所以從根本上來說可以歸納為兩種不同的排序方法:即:插入法&冒泡法

一 插入法:

遍歷排序集合,每到一個元素時,都要將這個元素與所有它之前的元素遍歷比較一遍,讓符合排序順序的元素挨個移動到當前范圍內它最應該出現的位置。交換是相鄰遍歷移動,雙重循環控制實現.這種排序法屬于地頭蛇類型,在我的地牌上我要把所有的東西按一定的順序規整,過來一個,規整一個.

處理代碼如下:

 

 
  1. public void sort(int[] data) { 
  2. int temp;  
  3. for(int i=1; i〈data.length; i++){ 
  4. for(int j=i; (j〉0)&&(data[j]〉data[j-1]); j--){ 
  5. temp=date[j];  
  6. data[j]=data[j-1];  
  7. data[j-1]=temp; } 
  8. }  

二 冒泡法:

比較容易,它的內層循環保證遍歷一次后,集合中最小(大)元素出現在它的正確位置,下一次就是次小元素。。。該方法在集合分布的各種情況下交換移動的次數基本不變,屬于最慢的一種排序。實現也是雙重循環控制。這種排序法屬于過江龍,就是要找到極端,但是過獎龍也有大哥,二哥等,所以他們只能是大哥挑了二哥挑.

處理代碼如下:

 

 
  1. public static int [] maopao(int[] data) { 
  2. int temp;  
  3. for(int i=0; i〈data.length-1; i++){ 
  4. for(int j=i+1; j〈data.length; j++){ 
  5. if(data[i]〈data[j]){ 
  6. temp=data[i];  
  7. data[i]=data[j];  
  8. data[j]=temp;  
  9. }  
  10. return data; 

三 選擇法:

該方法只是通過遍歷集合記錄最小(大)元素的位置,一次遍歷完后,再進行交換位置操作,類似冒泡,但在比較過程中,不進行交換操作,只記錄元素位置。一次遍歷只進行一次交換操作。這個對與交換次序比較費時的元素比較適合。這種排序法比冒泡法要城府要深的多,我先記住極端數據,待遍歷數據完了之后,我再處理,不像冒泡法那樣只要比自己極端一點的就要處理,選擇法只處理本身范圍內的最極端數據.

 

 
  1. public static void xuanze(int[] data) { 
  2. int temp;  
  3. for (int i = 0; i 〈 data.length; i++) { 
  4. int lowIndex = i;  
  5. for (int j = data.length - 1; j 〉 i; j--) { 
  6. if (data[j] 〉 data[lowIndex]) { 
  7. lowIndex = j;  
  8. temp=data[i];  
  9. data[i]=data[lowIndex];  
  10. data[lowIndex]=temp;  

四 Shell排序:

它是對插入排序的一種改進,是考慮將集合元素按照一定的基數劃分成組去排序,讓每一組在局部范圍內先排成基本有序,最后在進行一次所有元素的插入排序。

 

 
  1. public void sort(int[] data) { 
  2. for(int i=data.length/2; i〉2; i/=2){ 
  3. for(int j=0; j〈i; j++){ 
  4. insertSort(data,j,i);  
  5. insertSort(data,0,1);  
  6. private void insertSort(int[] data, int start, int inc) { 
  7. int temp;  
  8. for(int i=start+inc; i〈data.length; i+=inc){ 
  9. for(int j=i; (j〉=inc)&&(data[j]〈data[j-inc]); j-=inc){ 
  10. temp=data[j];  
  11. data[j]=data[j-inc] 
  12. data[j-inc]=temp;  

希望本文所述對大家的java程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 日本aaaa片毛片免费观蜜桃 | 久久久大片 | 免费久久久 | 久久免费视频8 | chinese-xvideos | 欧美高清另类自拍视频在线看 | 欧美性生交xxxxx久久久 | 免费一级毛片免费播放 | 黄色av免费网站 | 鲁久久| 人禽l交免费视频观看 视频 | 久久精品一区二区三区国产主播 | 97zyz成人免费视频 | 国产精品一区网站 | 污污黄 | 在线观看国产www | 精品在线观看一区二区三区 | 国产99久久| 国产在线区 | 黄色成人在线播放 | 爱操视频 | aa国产视频一区二区 | 久久久久久久一区二区 | 日韩欧美电影一区二区三区 | 丰满年轻岳中文字幕一区二区 | 49vvv| 中国毛片在线观看 | 色妞妞视频| 精品国产乱码久久久久久久久 | 欧美日韩免费在线观看视频 | 久草在线资源视频 | 久久久久一本一区二区青青蜜月 | 国产激爽大片在线播放 | 草逼一区| 国产午夜精品理论片a级探花 | 国产色视频免费 | 久久精品视频12 | 国产免费一级淫片 | 欧美日韩免费一区二区三区 | 国产无区一区二区三麻豆 | 久草最新在线 |