日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

简单排序--冒泡排序

發(fā)布時(shí)間:2023/12/2 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 简单排序--冒泡排序 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

冒泡排序:

public void sort(){int out,in;//out指向已經(jīng)排好序的前一個(gè)for( out=nElements-1;out>1;out--){for(in=0;in<out;in++){if(arr[in]>arr[in+1]){swap(in,in+1);//相鄰的兩個(gè)元素比較,交換}}}}//實(shí)現(xiàn)冒泡排序

相鄰的元素兩兩比較,out指向末端待排序的元素。

10個(gè)數(shù)據(jù)項(xiàng),第一次排序9次比較,第二次 8次比較。。。一共9+8+。。。+1=45次
? N個(gè)數(shù)據(jù) 1+2+...+N+(N+1)+(N+2)=N(N+1)/2 約做了N^2/2次比較,大約N^2/4次交換(概率,兩個(gè)數(shù)據(jù)交換概率1/2)時(shí)間復(fù)雜度:O(N^2)

數(shù)組初始狀態(tài):


如圖,兩兩比較,交換(大小顛倒時(shí))


每完成一輪兩兩比較,即inner+1到達(dá)未排序序列的末端,就能將未排序中的一個(gè)元素排好序(最大的)。


排好序的狀態(tài):


完整代碼:

package TwoArray;/*** 冒泡排序 最小的數(shù)據(jù)項(xiàng)放在最開始,最大的放后面 10個(gè)數(shù)據(jù)項(xiàng),第一次排序9次比較,第二次 8次比較。。。一共9+8+。。。+1=45次* N個(gè)數(shù)據(jù) N+(N+1)+(N+2)...+1=N(N+1)/2 約做了N^2/2次比較,大約N^2/4次交換(概率,兩個(gè)數(shù)據(jù)交換概率1/2)時(shí)間復(fù)雜度:O(N^2)* @author zhic**/ public class BubbleSort {int[] arr;int nElements;public BubbleSort(int max) {arr = new int[max];nElements = 0;}//構(gòu)造函數(shù)public void insert(int value){arr[nElements] = value;nElements++;}public void display(){for(int i=0;i<nElements;i++){System.out.print(arr[i] + " ");}}public void swap(int one,int two){int temp = arr[one];arr[one] = arr[two];arr[two] = temp;}//交換兩個(gè)下標(biāo)對(duì)應(yīng)的數(shù)組值public void sort(){int out,in;//out指向已經(jīng)排好序的前一個(gè)for( out=nElements-1;out>1;out--){for(in=0;in<out;in++){if(arr[in]>arr[in+1]){swap(in,in+1);//相鄰的兩個(gè)元素比較,交換}}}}//實(shí)現(xiàn)冒泡排序public static void main(String[] args){int max = 50;BubbleSort arr = new BubbleSort(max);arr.insert(10);arr.insert(0);arr.insert(90);arr.insert(9);arr.insert(30);arr.insert(10);arr.insert(20);arr.insert(40);arr.insert(70);arr.display();System.out.println();arr.sort();arr.display();} }

總結(jié)

以上是生活随笔為你收集整理的简单排序--冒泡排序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。