當前位置:首頁 » 編程語言 » c語言數據結構中冒泡排序演算法代碼
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言數據結構中冒泡排序演算法代碼

發布時間: 2022-12-12 07:43:53

㈠ 數據結構 冒泡排序 c語言 源代碼 急用啊

void bubble_sort(int *x, int n)
{
int j, k, h, t;
for (h=n-1,h=k; h>0; h--) /*循環到沒有比較范圍*/
{
for (j=0, k=0; j<h; j++) /*每次預置k=0,循環掃描後更新k*/
{
if (*(x+j) > *(x+j+1)) /*大的放在後面,小的放到前面*/
{
t = *(x+j);
*(x+j) = *(x+j+1);
*(x+j+1) = t; /*完成交換*/
k = j; /*保存最後下沉的位置。這樣k後面的都是排序排好了的。*/
}
}
}
}

㈡ C語言中冒泡排序法(又稱起泡排序法)得具體程序

冒泡法我是這樣理解的,便於掌握和記憶。首先冒泡是n長度的數組開始的兩位開始,逐位雙雙比較一直到最後兩個,所以最外循環比較了n-1次。第一個數比較了以後就不比了,從第二個開始,一直比較到數組末尾,於是內循環的起始位置不同,每次都是外側i的值加0,也就是i。但結束的限制和外層循環是相同的。於是寫法為for (i=0;i<n-1;i++)
{
for(j=i;j<n-1;j++)

㈢ 冒泡排序演算法的C語言代碼,要求有運行過程即每運行一步就輸出一次結果

void del(int *a,int n)//冒泡
{
int i,j,k;
for(i=0;i<=n-2;i++)
for(j=0;j<=n-2-i;j++)
{ if(a[j]>a[j+1])//如果你要從大到小排序就改>為<
{
k=a[j];
a[j]=a[j+1];
a[j+1]=k;
}

for( k=0;k<n;k++)
printf("%d\t",a[k]);
printf("\n");
}
按照樓主要求更改後的函數

㈣ c語言冒泡排序法

(1)基本思想:在要排序的一組數中,對當前還未排好序的范圍內的全部數,自上而下對相鄰的兩個數依次進行比較和調整,讓較大的數往下沉,較小的往上冒。即:每當兩相鄰的數比較後發現它們的排序與排序要求相反時,就將它們互換。

(2)實例:

(3)代碼解釋:

#include<stdio.h>
int main()
{
int a[10];
int i,j,t,temp;//temp記錄臨時中間值
printf("請輸入10個數:");
for (i=0;i<10;i++)
{
scanf("%d",&a[i]);//記錄輸入的十個數
}
for (j=1;j<=9;j++)
{
t=10-j;
for (i=0;i<t;i++)
{
if (a[i]>a[i+1]) {

//交換兩數的位置

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

}
for (i=0;i<=9;i++)
{
printf("%d ",a[i]);
}
return 0;
}


望採納!

㈤ 冒泡排序的C語言代碼

程序如下:

#include<malloc.h>
#include<stdio.h>
intmain(void)
{
inti,j,t,num;
int*p;

printf("請輸入要排序的數的個數:num=");
scanf("%d",&num);
p=(int*)malloc(num*sizeof(int));

//輸入要排序的數
for(i=0;i<num;++i)
{
printf("請輸入第%d個要排序的數p[%d]= ",i+1,i);
scanf("%d",&p[i]);
}

//冒泡排序
for(i=0;i<num-1;++i)
{
for(j=0;j<num-1-i;++j)
{
if(p[j]>p[j+1])//>表示升序<表示降序
{
t=p[j];
p[j]=p[j+1];
p[j+1]=t;
}
}
}

//輸出已經排序好的數
printf("輸出已經排序好的數");
for(i=0;i<num;++i)
{
printf("%d",p[i]);
}
printf(" ");

return0;
}

程序運行結果:

隨機輸入十個數:

㈥ 數據結構(C++)冒泡排序的代碼

冒泡排序數組s[]的元素,從大到小。

for(int i=1;i!=n;i++) //外層循環
{
for(int j=0;j!=n-i;j++) //內層循環
{
if(s[j]<s[j+1]) //比較相鄰的兩個元素
{
temp=s[j]; //符合條件,交換
s[j]=s[j+1];
s[j+1]=temp;
}
}
}