C語言冒泡排序
來源:易賢網(wǎng) 閱讀:1135 次 日期:2014-09-09 09:45:48
溫馨提示:易賢網(wǎng)小編為您整理了“C語言冒泡排序”,方便廣大網(wǎng)友查閱!

冒泡排序基本思想

將n個記錄看作按縱向排列,每趟排序時自下至上對每對相鄰記錄進行比較,若次序不符合要 求(逆序)就交換。每趟排序結(jié)束時都能使排序范圍內(nèi)關(guān)鍵字最小的記錄象一個氣泡一樣升到表上端的對應(yīng)位置,整個排序過程共進行n-1趟,依次將關(guān)鍵字最 小、次小、第三小…的各個記錄“冒到”表的第一個、第二個、第三個…位置上。

初態(tài) 第1趟 第2趟 第3趟 第4趟 第5趟 第6趟 第7趟

3812121212121212

2038202020202020

4620382525252525

3846253838383838

7438463838383838

9174384646464646

1291747474747474

2525919191919191

/*

Title: 冒泡排序

Author: Li Aimin

Date: May 2007

算法功能:冒泡排序算法實現(xiàn)將一個長度為n的線性表r上的所有元素按關(guān)鍵字升序排列。

*/

#include<stdio.h>

void bubblesort(int r[],int n)

{ /*elements are stored in r[1] to r[n]*/

int i,j,flag;

int temp;

flag=1;

i=1;

while((i<n)&&(flag==1)) /*外循環(huán)控制排序的總趟數(shù)*/

{ flag=0;

for(j=n;j>i;j--) /*內(nèi)循環(huán)控制一趟排序的進行*/

if(r[j]<r[j-1]) /*相鄰元素進行比較,若逆序就交換*/

{

flag=1;

temp=r[j];

r[j]=r[j-1];

r[j-1]=temp;

}

i++;

}

} /*bubblesort*/

void show(int r[] , int n)

{

/*elements are stored in r[1] to r[n]*/

int i;

for(i=1;i<=n;i++)

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

printf("n");

}

void main()

{

int a[9201],i;

for(i=0;i<9201;i++)

a[i]=9201-i;

//show(a,100000);

bubblesort(a,9200);

show(a,9200);

}

更多信息請查看IT技術(shù)專欄

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機網(wǎng)站地址:C語言冒泡排序

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)