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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言: 冒泡排序

發(fā)布時間:2024/4/14 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言: 冒泡排序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
void swap(char* a, char* b) {if(a == 0 || b == 0){return;}*a = *a ^ *b;*b = *a ^ *b;*a = *a ^ *b; }
//假的冒泡排序(沉底排序,不好) char* bub_sort(char* ch, int n) {int i,j;if(ch == 0){return 0;}for(i = 0; i < n - 1; i++){for(j = i + 1; j <= n - 1; j++){if(ch[i] > ch[j]){swap(ch + i, ch + j);}}}return ch; }//改進后的假的冒泡排序(沉底排序,還是不好)
char* bub_sort_b(char* ch, int n) {int i,j,m;if(ch == 0){return 0;}for(i = 0; i < n - 1; i++){m = i;for(j = i + 1; j <= n - 1; j++){if(ch[m] > ch[j]){m = j;}}if(i != m)swap(ch + i, ch + m);}return ch; }

?

冒泡排序:

void BasicBubble(char *myArray, int Length) {for(int i = 0; i < Length - 1; i++) //循環(huán)的趟數: Length{for(int j = 0; j < Length - 1 - i; j++)//每趟循環(huán)比較的次數: Length - 1 - i{if( myArray[j] > myArray[j+1] ){swap(myArray+j, myArray+j+1);}}} }改進的冒泡排序 /// 設置一個標志位,當沒有交換的時候這個標志位不會變化,那么說明數據已經 /// 排序好了,就不需要再進行剩余的循環(huán)。只有在標志位被重新設置的情況下才會 /// 進行剩余的循環(huán)。 void ImproveBubble1(char *myArray, int Length) {bool isSorted = false; for(int i = 0; i < Length - 1 && !isSorted; i++)//只有在沒有排序的情況下才繼續(xù)循環(huán){isSorted = true; //設定排序標志for(int j = 0; j < Length - 1 - i; j++){if( myArray[j] > myArray[j+1] ){isSorted = false; //如果是沒有排序,就重新設定標志swap(&myArray[j], &myArray[j+1]);}}} }

引用:

!? 1. http://www.cnblogs.com/dylan_zb/archive/2011/03/29/1999130.html

?

轉載于:https://www.cnblogs.com/mylinux/p/4630879.html

總結

以上是生活随笔為你收集整理的c语言: 冒泡排序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。