1、打開Visual stdio 2019軟件新建空白c文件,在源文件處右擊鼠標,選擇添加下面的新建項,此時會彈出窗口:
創(chuàng)新互聯(lián)為客戶提供專業(yè)的成都做網(wǎng)站、網(wǎng)站設計、程序、域名、空間一條龍服務,提供基于WEB的系統(tǒng)開發(fā). 服務項目涵蓋了網(wǎng)頁設計、網(wǎng)站程序開發(fā)、WEB系統(tǒng)開發(fā)、微信二次開發(fā)、成都做手機網(wǎng)站等網(wǎng)站方面業(yè)務。
2、彈出的窗口選擇C++文件,將文件擴展名改為“.c”點擊添加完成新建c文件,之后就可以編寫程序了:
3、接下來就可以編寫程序了,首先最前面的部分為輸入數(shù)字的部分,之后的程序會對用戶輸入的數(shù)字就行排序,最后則是將結(jié)果打印出來。冒泡排序需要用到兩層循環(huán),第一層循環(huán)遍歷數(shù)組中的元素,第二層則進行兩兩比較,如果順序不對就要對其進行換位,直到排序完成:
4、最后執(zhí)行程序觀察結(jié)果,按下crtl+F5彈出程序,隨意輸入10個數(shù),按下回車鍵執(zhí)行結(jié)果,此時就可以看到排序后的結(jié)果了。以上就是c語言冒泡排序程序的演示:
int?i,j,temp;
for(i=0;in-1;i++)
{
for(j=0;jn-1-i;j++)
{
if(a[j]a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
之間寫這個
void sortMaopao(int *arr,int n)
{
int i,j,tmp;
if(n100)
return ;
for(i=0;in-1;i++)
{
for(j=i+1;jn;j++)
{
if(*(arr+i)*(arr+j))
{
tmp=*(arr+i);
*(arr+i)=*(arr+j);
*(arr+j)=tmp;
}
}
}
}
這個函數(shù)可以幫你實現(xiàn)由大到小排序,如果由小到大的話只需把if(*(arr+i)*(arr+j))這一句里面的 改成 就行了,輸出的話可以在主函數(shù)調(diào)用之后再打印輸出就行。
#includestdio.h
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++) /*進行9次循環(huán) 實現(xiàn)9趟比較*/
for(i=0;i9-j;i++) /*在每一趟中進行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]);
}
擴展資料:
冒泡排序算法的運作
1、比較相鄰的元素。如果第一個比第二個大(?。?,就交換他們兩個。
2、對每一對相鄰元素作同樣的工作,從開始第一對到結(jié)尾的最后一對。這步做完后,最后的元素會是最大(小)的數(shù)。
3、針對所有的元素重復以上的步驟,除了最后已經(jīng)選出的元素(有序)。
4、持續(xù)每次對越來越少的元素(無序元素)重復上面的步驟,直到?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;
}
參考資料來源:冒泡排序-百度百科
//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)比當前最小元素還小的元素,則更新記錄最小元素的下標k
k=j;
}
//如果最小元素的下標不是后面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;
}
網(wǎng)站標題:冒泡排序c語言用函數(shù),冒泡排序c語言方法
當前URL:http://jinyejixie.com/article22/dssogcc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、網(wǎng)頁設計公司、網(wǎng)站設計公司、商城網(wǎng)站、電子商務、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)