1樓:
氣泡排序演算法的運作如下:
1、比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。
2、對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
3、針對所有的元素重複以上的步驟,除了最後乙個。
4、持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
這裡只需套用函式模板,將元素的型別設為模板變數即可,**如下:
template
void sort(item *arr)}}
2樓:匿名使用者
#include
using namespace std;
template
void sort(t a,int n)
cout<<"排序後為:"< for(i=0;i<5;i++) cout<
cout< }int main() ;int b[5]=; float c[5]=; sort(a,5); sort(b,5); sort(c,5); return 0;} 3樓:匿名使用者 #include using namespace std; int main() ;int i,j,t,b,c; cin>>b; for(i=0;i>c; a[i]=c; }for(i=0;i<10;i++)}} for(i=0;i
cout<
return 0;} c語言程式設計:對10個數氣泡排序(公升序)。 4樓:匿名使用者 #include int main(); for (int j = 0; j < 9; j++) for (int i = 0; i < 9 - j; i++) }for (int i = 0; i < 10; i++) }擴充套件資料: 常見排序演算法 快速排序、希爾排序、堆排序、直接選擇排序不是穩定的排序演算法,而基數排序、氣泡排序、直接插入排序、折半插入排序、歸併排序是穩定的排序演算法。 插入排序 已知一組公升序排列資料a[1]、a[2]、……a[n],一組無序資料b[1]、b[2]、……b[m],需將二者合併成乙個公升序數列。 首先比較b[1]與a[1]的值,若b[1]大於a[1],則跳過,比較b[1]與a[2]的值,若b[1]仍然大於a[2],則繼續跳過,直到b[1]小於a陣列中某一資料a[x],則將a[x]~a[n]分別向後移動一位,將b[1]插入到原來a[x]的位置這就完成了b[1]的插入。 b[2]~b[m]用相同方法插入。 快速排序 快速排序是大家已知的常用排序演算法中最快的排序方法。已知一組無序資料a[1]、a[2]、……a[n],需將其按公升序排列。首先任取資料a[x]作為基準。 比較a[x]與其它資料並排序,使a[x]排在資料的第k位,並且使a[1]~a[k-1]中的每乙個資料希爾排序 已知一組無序資料a[1]、a[2]、……a[n],需將其按公升序排列。 5樓:匿名使用者 //以下以四個數字的給舉例,便於理解; #include main() ; //定義陣列,陣列是本次要排序的數字組合;注意此處陣列中一共4個數字所以 理論上是 a[4]=; //初試化i=1;並判斷i是否小於等於3; 如果符合條件 那麼進入for迴圈;(4個數字,兩兩對比需要進行3輪對比,i就代表了輪數;i需要經過 1,2,3 三輪的賦值;i=4的時候會跳出for迴圈) for(i=1; i<=3; i++)}}for(i=0; i<4; i++) }/*執行結果如下: 第 1個數字為:3 第 2個數字為:6 第 3個數字為:10 第 4個數字為:30*/ 6樓:水瓶哈帥 //氣泡排序,假設有n個數,需要n-1趟排序//其中,第i趟需要 n-i次排序 #include int main(void) ;int i,j,w; printf("輸入5個數:%d\n",a[5]); /*for(i=0;i<5;i++) *///使用2層迴圈 for(i=1;i<=5-1;i++) //趟}}for(i=0;i<5;i++) printf("%4d",a[i]); return 0;} 7樓:匿名使用者 氣泡排序(bubble sort),是一種電腦科學領域的較簡單的排序演算法。 氣泡排序流程:它重複地遍歷要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。遍歷數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。 參考**: #include int main() for(i=0;i<10;i++) printf("%d ",a[i]); return 0;}/* 執行結果: 2 3 5 4 1 9 8 7 6 0 0 1 2 3 4 5 6 7 8 9*/ 8樓:誓者如釃 我跟樓上不同,沒用到指標,應該能更容易理解!如果還有問題可以追問…具體如下: #include void main() for(i=1;i<=10;i++) printf("%d\t",a[i]; }用手機打的,結構不是很美觀。望見諒! 9樓:匿名使用者 我和二樓的有微小的不同是用到了巨集定義 #include #define n 10 int main(void) for(i=0;i for(i=0;i printf("\n"); return 0;} 10樓:匿名使用者 #include void main() printf("排序後的數字為:"); for(i=0;i<=9;i++) printf("%d ",*(p+i)); printf("\n"); 祝你好運! 11樓:匿名使用者 語言編織過十個數,氣泡排序公升序。 12樓:藍天國際 應該是只有找專門的師傅修理了。最好找熟人。因為**優慧,使人感到興趣 c++ 定義模板函式實現冒泡法公升序排序 13樓:匿名使用者 #include using namespace std; template void bubble_sort(t a, int num)}}}template void print(t a,int num)}int main() for (i = 0; i < 7; i++)bubble_sort(a, 6); bubble_sort(b, 7); print(a, 6); print(b, 7); return 0;} 1. 編寫函式sort(int a[]),用冒泡法對陣列a的10個元素公升序排序。在主函式中輸入10 14樓:凌亂心扉 #includevoid sort(int a,int n)}}} int main(void) sort()函式是c++一種排序方法之一,學會了這種方法也打消我學習c++以來使用的氣泡排序和選擇排序所帶來的執行效率不高的問題!因為它使用的排序方法是類似於快排的方法,時間複雜度為n*log2(n),執行效率較高! (二)c++標準庫里的排序函式的使用方法 i)sort函式包含在標頭檔案為#include的c++標準庫中,呼叫標準庫里的排序方法可以不必知道其內部是如何實現的,只要出現我們想要的結果即可! ii)sort函式有三個引數: (1)第乙個是要排序的陣列的起始位址。 (2)第二個是結束的位址(最後一位要排序的位址)(3)第三個引數是排序的方法,可以是從大到小也可是從小到大,還可以不寫第三個引數,此時預設的排序方法是從小到大排序。 15樓:匿名使用者 #include void sort(int a) for(i=0;i<10;i++) printf("%d ",a[i]); }int main() c語言:編寫函式用氣泡排序法對陣列中的資料進行從小到大的排序. 16樓:匿名使用者 int i,j,temp; for(i=0;ia[j+1])}} 之間寫這個 設計乙個c++程式,將鍵盤輸入的10個整數從小到大的順序排列(冒泡法),要求排序功能用自定義函式實現。 17樓:匿名使用者 #include void sort(int a,int n) //氣泡排序法}}void main() sort(s,10); //呼叫排序函式for(int j=0;j<10;j++)} 18樓:匿名使用者 # include # include # define maxsize 20 # define max_length 100typedef int redtype; typedef struct //define structure sqlist sqlist; <個程式可以輸入100個以內的資料進行氣泡排序。 用冒泡法對10個整數公升序排序,輸入,排序,輸出分別用函式實現 19樓: 題主你好,很高興回答你的問題。這種經典的演算法會有很多種語言的實現方法,你可以直接搜尋下「氣泡排序」,點開百科裡面就有,隨便改下就行了。希望能幫到你,望採納 #include #definesize8 voidbubble_sort(inta,intn); voidbubble_sort(inta,intn)//n為陣列a的元素個數}} intmain() ;inti; bubble_sort(number,size); for(i=0;i c語言:寫一函式,用「冒泡法」對輸入的10個字元按由小到大順序排列
10 20樓:匿名使用者 #include #include void maopaofa(char x,int y)}}int main() return 0;} 21樓:匿名使用者 #include "stdio.h" void sort(char *d,int n)}} }int main() 22樓:小嬌朋友 char a = "6931280457", c; int i, j; for(i = 0; i < 10; ++i)for(j = 9; j > i; --j)if(a[j] < a[i]) 還不錯,希望你採納。 23樓:百問誰度 #include int main() 試試~看看是不是你想要的 24樓:雨落深山 #include "stdio.h" #include "conio.h" #include main() for (i=0;i<10;i++) fclose(fp); for (j=0;j<9;j++) for (i=0;i<9-j;i++) if (a[i]>a[i+1]) printf("\nthe sort result is:"); for (i=0;i<10;i++) printf("%6d",a[i]); fp=fopen("e:\\out.txt","wt"); for(i=0;i<10;i++) fprintf(fp,"%5d",a[i]); fclose(fp); getch();} 1 在數學上,關於遞迴函式的定義如下 對於某一函式f x 其定義域是集合a,那麼若對於a集合中的某一個值x0,其函式值f x0 由f f x0 決定,那麼就稱f x 為遞迴函式。在程式語言中,把直接或間接地呼叫自身的函式稱為遞迴函式。函式的構建通常需要一個函式或者一個過程來完成。2 遞迴函式 是建立... 第5 題 include include define max 256 typedef int list max typedef int elemtype typedef int status define overflow 1 define ok 1 define list init size 8... 小夏在深圳 源 如下 srand include main int i,j for i 0 i 100 i j 1 int 10.0 rand rand max 1.0 printf d j 擴充套件資料 1 rand 的內部實現是用線性同餘法做的,它不是真的隨機數,因其週期特別長,故在一定的範圍裡...用C 語言編寫程式,遞迴函式,用c 編寫程式用遞迴法計算一個整數的所有數字之和
用C語言編寫程式資料結構,用C語言編寫程式 資料結構 20
c語言編寫程式利用rand函式產生100以內的隨