用C 語言編寫程式實現 設計函式,實現用冒泡法對

時間 2021-08-11 18:00:48

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();}

用C 語言編寫程式,遞迴函式,用c 編寫程式用遞迴法計算一個整數的所有數字之和

1 在數學上,關於遞迴函式的定義如下 對於某一函式f x 其定義域是集合a,那麼若對於a集合中的某一個值x0,其函式值f x0 由f f x0 決定,那麼就稱f x 為遞迴函式。在程式語言中,把直接或間接地呼叫自身的函式稱為遞迴函式。函式的構建通常需要一個函式或者一個過程來完成。2 遞迴函式 是建立...

用C語言編寫程式資料結構,用C語言編寫程式 資料結構 20

第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...

c語言編寫程式利用rand函式產生100以內的隨

小夏在深圳 源 如下 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 的內部實現是用線性同餘法做的,它不是真的隨機數,因其週期特別長,故在一定的範圍裡...