欧美午夜欧美,台湾成人av,久久av一区,最近看过的日韩成人

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計 | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 編程學(xué)習(xí) >> C語言 >> 正文

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

作者:佚名    文章來源:本站原創(chuàng)    點擊數(shù):    更新時間:2023/8/9

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

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

冒泡排序的原理動畫 

代碼如下

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

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

運行結(jié)果>

 

Tags:冒泡排序,排序,C語言  
責(zé)任編輯:admin
  • 上一篇文章:
  • 下一篇文章: 沒有了
  • 請文明參與討論,禁止漫罵攻擊。 昵稱:注冊  登錄
    [ 查看全部 ] 網(wǎng)友評論
    關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁面
    下到頁底
    晶體管查詢
    主站蜘蛛池模板: 汝阳县| 沙雅县| 呼伦贝尔市| 鄂尔多斯市| 突泉县| 冀州市| 舟山市| 古交市| 新绛县| 霸州市| 砀山县| 永顺县| 兴安县| 东阿县| 邵阳市| 通辽市| 武陟县| 溧水县| 军事| 阿鲁科尔沁旗| 昆明市| 桐乡市| 拜泉县| 吉林省| 甘德县| 仁化县| 碌曲县| 綦江县| 通海县| 长阳| 桂平市| 伊金霍洛旗| 壤塘县| 宁海县| 罗定市| 宁陕县| 六枝特区| 榆树市| 彰化市| 浪卡子县| 台山市|