冒泡排序是排序算法的一種,思路清晰,代碼簡潔,常被用在大學生計算機課程中?!懊芭荨边@個名字的由來是因為越大的元素會經由交換慢慢“浮”到數列的頂端,故名。這里以從小到大排序為例進行講解。基本思想及舉例說明
成都創(chuàng)新互聯公司是一家專業(yè)提供堯都企業(yè)網站建設,專注與網站設計制作、網站設計、H5高端網站建設、小程序制作等業(yè)務。10年已為堯都眾多企業(yè)、政府機構等服務。創(chuàng)新互聯專業(yè)網站制作公司優(yōu)惠進行中。
冒泡排序的基本思想就是不斷比較相鄰的兩個數,讓較大的元素不斷地往后移。經過一輪比較就,選出最大的數;經過第2輪比較,就選出次大的數,以此類推。下面以對 3 2 4 1 進行冒泡排序說明。
1.這個算法用rand函數產生新的要排序的數據,與已有的有序數列中的數據依次比較,如果遇到比他大的數據,就從該數據開始,一直交換到末尾,達到一個插入的效果。從而形成有序的數列。
2.此外,只用rand函數并不能達到真正隨機的效果。如果要實現真正隨機的效果,還要配合srand函數才行。
3.具體代碼如下:#include "stdio.h"#include "stdlib.h"void main(){int a[10],temp,r; printf("請輸入一個種子\n"); scanf("%d",r);srand(r); for(int i=0;i9;i++) 。
1、打開Visual stdio 2019軟件新建空白c文件,在源文件處右擊鼠標,選擇添加下面的新建項,此時會彈出窗口:
2、彈出的窗口選擇C++文件,將文件擴展名改為“.c”點擊添加完成新建c文件,之后就可以編寫程序了:
3、接下來就可以編寫程序了,首先最前面的部分為輸入數字的部分,之后的程序會對用戶輸入的數字就行排序,最后則是將結果打印出來。冒泡排序需要用到兩層循環(huán),第一層循環(huán)遍歷數組中的元素,第二層則進行兩兩比較,如果順序不對就要對其進行換位,直到排序完成:
4、最后執(zhí)行程序觀察結果,按下crtl+F5彈出程序,隨意輸入10個數,按下回車鍵執(zhí)行結果,此時就可以看到排序后的結果了。以上就是c語言冒泡排序程序的演示:
從小到大排序
void paixu(double a[],int N)
{
double temp;
int i,j;
for(i=0;iN;i++)
{
for(j=i+1;jN-i;j++)
{
if(a[i]a[j])
{temp=a[i];a[i]=a[j];a[j]=temp;}
}
}
}
把樓上的改改,減少浪費,歡迎拍磚