電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 編程學習 >> C語言 >> 正文

C語言——冒泡排序_冒泡排序c語言

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2023/8/9

冒泡排序的原理是:從左到右,相鄰元素進行比較。每次比較一輪,就會找到序列中最大的一個或最小的一個。這個數就會從序列的最右邊冒出來。

以從小到大排序為例,第一輪比較后,所有數中最大的那個數就會浮到最右邊;第二輪比較后,所有數中第二大的那個數就會浮到倒數第二個位置……就這樣一輪一輪地比較,最后實現從小到大排序。

冒泡排序的原理動畫 

代碼如下

#include<stdio.h>
void Bubble_sort(int arr[], int size)
{
int j,i,tem;
for (i = 0; i < size-1;i ++)//size-1是因為不用與自己比較,所以比的數就少一個
{
int count = 0;
for (j = 0; j < size-1 - i; j++) //size-1-i是因為每一趟就會少一個數比較
{
if (arr[j] > arr[j+1])//這是升序排法,前一個數和后一個數比較,如果前數大則與后一個數換位置
{
tem = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tem;
count = 1;
}
}
if (count == 0) //如果某一趟沒有交換位置,則說明已經排好序,直接退出循環
break; 
}
}
int main()
{
int arr[10];
int i;
printf("請輸入10個數\n");
for (i = 0; i < 10; i++) //接收用戶的數值
{
scanf("%d", &arr[i]);
}
printf("排序前的數組>");
for (i = 0; i < 10; i++)
{
printf("%d ", arr[i]);
}
printf("\n排序后的數組>");
Bubble_sort(arr, 10);
for (i = 0; i < 10; i++)
{
printf("%d ", arr[i]);
}
return 0;
}

值得注意的是函數中的定義的count是為了檢驗是否進行了元素的交換,是對代碼的一種優化

運行結果>

 

Tags:冒泡排序,排序,C語言  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊。 昵稱:注冊  登錄
[ 查看全部 ] 網友評論
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
宅男lu66国产在线播放| 精品无码久久久久久久动漫| 欧美性大战xxxxx久久久| 女人扒开腿让男人桶个爽| 国产99在线a视频| 久久精品国产亚洲av麻豆色欲 | 亚洲成a人片在线看| a级毛片免费高清视频| 男人扒开女人下面狂躁动漫版| 成人福利小视频| 国产动作大片中文字幕| 五月综合色婷婷在线观看| 2019天天干夜夜操| 欧美三级在线观看黄| 国产精品自产拍在线观看| 亚洲高清毛片一区二区| jizzyou中国少妇| 欧美色视频日本| 国模吧2021新入口| 亚洲综合视频在线观看| www.国产成人| 欧美视屏在线观看| 国产麻豆视频免费观看| 亚洲精品乱码久久久久久自慰| 99久久人妻精品免费一区| 欧美日韩在线一区| 国产精品人成在线观看| 亚洲午夜久久久影院| 鲁不死色原网站| 日本成人在线看| 国产亚洲日韩欧美一区二区三区| 久久久香蕉视频| 久操免费在线观看| 老司机永久免费视频| 成人欧美一区二区三区黑人| 另类小说亚洲色图| 一区二区三区影院| 欧美日韩精品一区二区三区不卡 | 中文字幕国产一区| 浪荡欲乱之合集| 国产精品另类激情久久久免费|