當前位置:首頁 » 編程語言 » c語言冒泡排序法

c語言冒泡排序法

發布時間: 2024-02-02 02:23:26

A. c語言:採用冒泡排序方法,對10個數按由小到大的的順序排序

代碼如下(對10個整數進行升序排序):

#include<stdio.h>

int main()

{

int i,j,t,a[10]={5,4,8,3,6,9,7,222,64,88};

//排序

for(i=1;i<10;i++)//外循環控制排序趟數,n個數排n-1趟

{

for(j=0;j<10-1;j++)//內循環每趟比較的次數,第j趟比較n-i次

{

if(a[j]>a[j+1])//相鄰元素比較,逆序則交換

{

t=a[j];

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

a[j+1]=t;

}

}

}

printf("排序後的結果是: ");

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

{

printf("%d",a<i>);

}

printf(" ");

return 0;

}

冒泡法:

演算法分析:如果有n個數,則要進行n-1趟比較。在第1趟比較中要進行n-1次相鄰元素的兩兩比較,在第j趟比較中要進行n-j次兩兩比較。比較的順序從前往後,經過一趟比較後,將最值沉底(換到最後一個元素位置),最大值沉底為升序,最小值沉底為降序。

(1)c語言冒泡排序法擴展閱讀:

include用法:

#include命令預處理命令的一種,預處理命令可以將別的源代碼內容插入到所指定的位置;可以標識出只有在特定條件下才會被編譯的某一段程序代碼;可以定義類似標識符功能的宏,在編譯時,預處理器會用別的文本取代該宏。

插入頭文件的內容

#include命令告訴預處理器將指定頭文件的內容插入到預處理器命令的相應位置。有兩種方式可以指定插入頭文件:

1、#include<文件名>

2、#include"文件名"

如果需要包含標准庫頭文件或者實現版本所提供的頭文件,應該使用第一種格式。如下例所示:

#include<math.h>//一些數學函數的原型,以及相關的類型和宏

如果需要包含針對程序所開發的源文件,則應該使用第二種格式。

採用#include命令所插入的文件,通常文件擴展名是.h,文件包括函數原型、宏定義和類型定義。只要使用#include命令,這些定義就可被任何源文件使用。如下例所示:

#include"myproject.h"//用在當前項目中的函數原型、類型定義和宏

你可以在#include命令中使用宏。如果使用宏,該宏的取代結果必須確保生成正確的#include命令。例1展示了這樣的#include命令。

【例1】在#include命令中的宏

#ifdef _DEBUG_

#define MY_HEADER"myProject_dbg.h"

#else

#define MY_HEADER"myProject.h"

#endif

#include MY_HEADER

當上述程序代碼進入預處理時,如果_DEBUG_宏已被定義,那麼預處理器會插入myProject_dbg.h的內容;如果還沒定義,則插入myProject.h的內容。

B. C語言冒泡排序。

#include<stdio.h>

void main()

{

int a[10];

int i,j,t;

printf("input 10 numbers: ");

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

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

for(j=0;j<9;j++) /*進行9次循環 實現9趟比較*/

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

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

{

t=a[i];

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

a[i+1]=t;

}

printf("the sorted numbers: ");

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

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


}

(2)c語言冒泡排序法擴展閱讀:

冒泡排序演算法的運作

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

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

3、針對所有的元素重復以上的步驟,除了最後已經選出的元素(有序)。

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

簡單的表示

#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 ", a[i]);

}

return 0;

}

參考資料來源:冒泡排序-網路

C. C語言:冒泡排序法將數組中10個元素從小到大排序,並找出最小值

#include<stdio.h>

int main()

{

int a[11],min=0,t;

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

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

min=a[0];

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

if(a[i]<min)//求最小值

min=a[i];

for(int i=0;i<10;i++)//冒泡排序

for(int j=0;j<9-i;j++)

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

{

t=a[j];

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

a[j+1]=t;

}

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

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

printf(" %d",min);

return 0;

}

D. c語言中冒泡法是什麼意思

冒泡法是一種排序方法
冒泡法5
4
3
2
1
比如上面這5個數字我們把它按照由小到大的順序排列,
從前往後相臨兩位比較大小,如果前一位比後一位大就把它倆
換位,5比4大就把5和4換位,得到45321
5又比3大
5和3換位
得到43521
依次類推最後得到
43215
這樣就把最大的一個數字移到最後面了
然後不看5
,剩下4321
再用上面的方法把4移動到最後
得到
32145
在不看45
剩下321
把3移動到
最後,依此類推。
最終得到12345
這就是冒泡法,是計算機編程排序中最簡單快捷的方法。
除此意外我還能寫出許多排序方法,但是效率上都不如冒泡法
至於為什麼叫冒泡法呢,你把這幾個數字豎起來看
1
2
3
4
5
把最大的數字5看成最大的泡泡,浮到最上,然後4又浮上去,依此類推
得到
5
4
3
2
1
所以形象的稱為冒泡法
——————————————————————————————————
以下是C語言中十個數的冒泡法排序的代碼
#include<stdio.h>
#include<conio.h>
int
main(void)
{
long
arrary[9],
box=0L;
int
i1=0,
i2=0;
for(i1=0;i1<9;i1++)
arrary[i1]=0;
printf("輸入數組元素:\n");
for(i1=0;i1<=9;i1++)
{
printf("%3d>",i1+1);
scanf("%d",&arrary[i1]);
}
for(i1=0;i1<=9;i1++)
for(i2=0;i2<=9-i1;i2++)
{
if(arrary[i2]<arrary[i2+1])
{
box=arrary[i2+1];
arrary[i2+1]=arrary[i2];
arrary[i2]=box;
}
}
printf("\n排序後為:\n");
for(i1=0;i1<=9;i1++)
printf("%3d>%d\n",i1+1,arrary[i1]);
getch();
return
0;
}

E. C語言:編寫一個程序用冒泡排序實現升序排列

1、首先打開一個空白的C語言文件,首先先定義一組待排序的數列以及各個變數,接著就是用來處理排序的邏輯:

熱點內容
安卓手機dll文件為什麼打不開 發布:2024-11-29 13:40:49 瀏覽:1000
百分之五十石碳酸怎麼配置 發布:2024-11-29 13:38:56 瀏覽:971
我的世界伺服器如何裝資源包 發布:2024-11-29 13:25:48 瀏覽:18
mc伺服器的ip是什麼 發布:2024-11-29 13:23:33 瀏覽:566
python的request模塊 發布:2024-11-29 13:20:56 瀏覽:658
android編譯環境搭建 發布:2024-11-29 13:04:46 瀏覽:893
電腦怎麼登遠程伺服器 發布:2024-11-29 12:32:20 瀏覽:126
先來先服務進程調度演算法 發布:2024-11-29 12:30:12 瀏覽:629
mysql存儲過程循環表中的數據 發布:2024-11-29 12:04:02 瀏覽:600
相機存儲器一般是什麼 發布:2024-11-29 11:59:51 瀏覽:295