欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

調(diào)用冒泡排序函數(shù)c語言 冒泡排序c語言csdn

C語言冒泡排序。

#includestdio.h

成都創(chuàng)新互聯(lián)公司是專業(yè)的嵊泗網(wǎng)站建設(shè)公司,嵊泗接單;提供成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行嵊泗網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!

void main()

{

int a[10];

int i,j,t;

printf("input 10 numbers:\n");

for(i=0;i10;i++)

scanf("%d",a[i]);

for(j=0;j9;j++) /*進(jìn)行9次循環(huán) 實(shí)現(xiàn)9趟比較*/

for(i=0;i9-j;i++) /*在每一趟中進(jìn)行9-j次比較*/

if(a[i]a[i+1]) /*相鄰兩個數(shù)比較,想降序只要改成a[i]a[i+1]*/

{

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

printf("the sorted numbers:\n");

for(i=0;i10;i++)

printf(" %d",a[i]);

}

擴(kuò)展資料:

冒泡排序算法的運(yùn)作

1、比較相鄰的元素。如果第一個比第二個大(小),就交換他們兩個。

2、對每一對相鄰元素作同樣的工作,從開始第一對到結(jié)尾的最后一對。這步做完后,最后的元素會是最大(小)的數(shù)。

3、針對所有的元素重復(fù)以上的步驟,除了最后已經(jīng)選出的元素(有序)。

4、持續(xù)每次對越來越少的元素(無序元素)重復(fù)上面的步驟,直到?jīng)]有任何一對數(shù)字需要比較,則序列最終有序。

簡單的表示

#include stdio.h

void swap(int *i, int *j)

{

int temp = *i;

*i = *j;

*j = temp;

}

int main()

{

int a[10] = {2,1,4,5,6,9,7,8,7,7};

int i,j;

for (i = 0; i 10; i++)

{

for (j = 9; j i; j--)//從后往前冒泡

{

if (a[j] a[j-1])

{

swap(a[j], a[j-1]);

}

}

}

for (i = 0; i 10; i++)

{

printf("%d\n", a[i]);

}

return 0;

}

參考資料來源:冒泡排序-百度百科

1. 編寫冒泡排序和選擇排序的程序,主函數(shù)中編寫菜單調(diào)用排序函數(shù)。C語言

//C語言示例代碼如下

#include?stdio.h

#define?N?10

//冒泡排序(升序)

void?bubble_sort(int?a[],int?n)

{

int?i,j;??//j表示趟數(shù),i表示第j趟兩兩比較的次數(shù)

int?tmp;?//臨時變量

for(i=0;in-1;i++)

for(j=0;jn-1-i;j++)

{

if(a[j]??a[j+1])

{

tmp=a[j];

a[j]=a[j+1];

a[j+1]=tmp;

}

}

}

//選擇排序算法,按從小到大順序

void?select_sort(int?*array,int?n)

{

int?i,j,k;

int?tmp;

for(i=0;in-1;i++)

{

k=i;??//開始一趟選擇排序,假定第i個元素是后面n-i+1個未排序的元素中最小的元素

for(j=i+1;jn;j++)

{

if(array[k]??array[j])?//如果發(fā)現(xiàn)比當(dāng)前最小元素還小的元素,則更新記錄最小元素的下標(biāo)k

k=j;

}

//如果最小元素的下標(biāo)不是后面n-i+1的未排序序列的第一個元素,則需要交換第i個元素和后面找到的最小元素的位置

if(k?!=?i)

{

tmp=array[k];

array[k]=array[i];

array[i]=tmp;

}

}

}

int?main()

{

int?arr[N];

int?i;

printf("輸入數(shù)組元素:?");

for(i=0;iN;i++)

scanf("%d",arr[i]);

bubble_sort(arr,N);??//調(diào)用冒泡排序函數(shù)

printf("輸出排序后的數(shù)組元素:?");

for(i=0;iN;i++)

printf("%d?",arr[i]);

printf("\n輸入數(shù)組元素:?");

for(i=0;iN;i++)

scanf("%d",arr[i]);

select_sort(arr,N);??//調(diào)用選擇排序函數(shù)

printf("輸出排序后的數(shù)組元素:?");

for(i=0;iN;i++)

printf("%d?",arr[i]);

printf("\n");

return?0;

}

C語言冒泡排序法代碼

冒泡排序是排序算法的一種,思路清晰,代碼簡潔,常被用在大學(xué)生計算機(jī)課程中。“冒泡”這個名字的由來是因?yàn)樵酱蟮脑貢?jīng)由交換慢慢“浮”到數(shù)列的頂端,故名。這里以從小到大排序?yàn)槔M(jìn)行講解。基本思想及舉例說明

冒泡排序的基本思想就是不斷比較相鄰的兩個數(shù),讓較大的元素不斷地往后移。經(jīng)過一輪比較就,選出最大的數(shù);經(jīng)過第2輪比較,就選出次大的數(shù),以此類推。下面以對 3 2 4 1 進(jìn)行冒泡排序說明。

1.這個算法用rand函數(shù)產(chǎn)生新的要排序的數(shù)據(jù),與已有的有序數(shù)列中的數(shù)據(jù)依次比較,如果遇到比他大的數(shù)據(jù),就從該數(shù)據(jù)開始,一直交換到末尾,達(dá)到一個插入的效果。從而形成有序的數(shù)列。

2.此外,只用rand函數(shù)并不能達(dá)到真正隨機(jī)的效果。如果要實(shí)現(xiàn)真正隨機(jī)的效果,還要配合srand函數(shù)才行。

3.具體代碼如下:#include "stdio.h"#include "stdlib.h"void main(){int a[10],temp,r; printf("請輸入一個種子\n"); scanf("%d",r);srand(r); for(int i=0;i9;i++) 。

網(wǎng)站名稱:調(diào)用冒泡排序函數(shù)c語言 冒泡排序c語言csdn
轉(zhuǎn)載來源:http://www.chinadenli.net/article16/dddpegg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)網(wǎng)站收錄網(wǎng)站設(shè)計企業(yè)網(wǎng)站制作品牌網(wǎng)站設(shè)計云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)