排序算法 之 冒泡排序
阿新 • • 發佈:2019-05-12
view main db2 mes \n 數組 img 選擇排序 urn
第2次排序後的結果 : -78 -3 2 5 1 4 0 3 59 62
第3次排序後的結果 : -78 -3 0 2 5 1 4 3 59 62
第4次排序後的結果 : -78 -3 0 1 2 5 3 4 59 62
第5次排序後的結果 : -78 -3 0 1 2 3 5 4 59 62
第6次排序後的結果 : -78 -3 0 1 2 3 4 5 59 62
第7次排序後的結果 : -78 -3 0 1 2 3 4 5 59 62
第8次排序後的結果 : -78 -3 0 1 2 3 4 5 59 62
第9次排序後的結果 : -78 -3 0 1 2 3 4 5 59 62
第10次排序後的結果 : -78 -3 0 1 2 3 4 5 59 62
-78 -3 0 1 2 3 4 5 59 62
請按任意鍵繼續. . .
1 #include <iostream> 2 using namespace std; 3 void bubbleSort(int data[],int length) 4 { 5 if (data == nullptr || length <= 0) 6 { 7 return; 8 } 9 for (int i = 0 ; i < length ; i++) 10 { 11 for (int j = length-1 ; j > i ; j --)View Code12 { 13 if (data[j] < data[j-1]) 14 { 15 swap(data[j],data[j-1]); 16 } 17 } 18 printf("第%d次排序後的結果 : " ,i+1); 19 for (int i =0 ;i < length ;++i) 20 { 21 printf("%d ",data[i]); 22 }23 printf("\n"); 24 } 25 } 26 int main() 27 { 28 int data[] = {2,5,1,4,0,-3,59,-78,62,3}; 29 bubbleSort(data,sizeof(data)/sizeof(int)); 30 printf("\n\n"); 31 for (int i =0 ;i < sizeof(data)/sizeof(int) ;++i) 32 { 33 printf("%d ",data[i]); 34 } 35printf("\n"); 36 return 0; 37 }
1 #include <iostream> 2 using namespace std; 3 void bubbleSort(int data[],int length) 4 { 5 if (data == nullptr || length <= 0) 6 { 7 return; 8 } 9 for (int i = 0 ; i < length ; i++) 10 { 11 for (int j = length-1 ; j > i ; j --) 12 { 13 if (data[j] < data[j-1]) 14 { 15 swap(data[j],data[j-1]); 16 } 17 } 18 printf("第%d次排序後的結果 : " ,i+1); 19 for (int i =0 ;i < length ;++i) 20 { 21 printf("%d ",data[i]); 22 } 23 printf("\n"); 24 } 25 } 26 int main() 27 { 28 int data[] = {2,5,1,4,0,-3,59,-78,62,3}; 29 bubbleSort(data,sizeof(data)/sizeof(int)); 30 printf("\n\n"); 31 for (int i =0 ;i < sizeof(data)/sizeof(int) ;++i) 32 { 33 printf("%d ",data[i]); 34 } 35 printf("\n"); 36 return 0; 37 }
///每次排序找到最小的放到前面,與選擇排序相比,冒泡排序多次打亂數組內的數據,也就是將數組中的值多次修改
輸出結果為:
第1次排序後的結果 : -78 2 5 1 4 0 -3 59 3 62第2次排序後的結果 : -78 -3 2 5 1 4 0 3 59 62
第3次排序後的結果 : -78 -3 0 2 5 1 4 3 59 62
第4次排序後的結果 : -78 -3 0 1 2 5 3 4 59 62
第5次排序後的結果 : -78 -3 0 1 2 3 5 4 59 62
第6次排序後的結果 : -78 -3 0 1 2 3 4 5 59 62
第7次排序後的結果 : -78 -3 0 1 2 3 4 5 59 62
第8次排序後的結果 : -78 -3 0 1 2 3 4 5 59 62
第9次排序後的結果 : -78 -3 0 1 2 3 4 5 59 62
第10次排序後的結果 : -78 -3 0 1 2 3 4 5 59 62
-78 -3 0 1 2 3 4 5 59 62
請按任意鍵繼續. . .
排序算法 之 冒泡排序