C++的氣泡排序法的原理是什麼?
阿新 • • 發佈:2020-12-29
氣泡排序法的原理是:
相鄰兩個元素進行比較,將較大者和較小者互換位置,這樣一趟比較下來就會使要排列的所有元素中的最大的元素的沉到最後,然後在進行下一趟的比較,最後進行完比較之後,就排好序了。
假如有n個元素進行比較,一共會比較n-1趟,第j趟進行比較n-j次兩兩比較。
下面的例子是陣列中的10個元素進行比較,一共比較9趟,每趟比較9-j次。
#include<iostream>
using namespace std;
int main()
{
int i,j,a[10],t=0;
for(i=0;i<10 ;i++)
cin>>a[i];
for(j=0;j<9;j++)
{
for(i=0;i<9-j;i++)
{
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
}
for(i=0;i<10;i++)
{
cout<<a[i];
}
return 0;
}
=======================================
c語言氣泡排序法:
#include<stdio.h>
int main()
{
int a[100],i,j,t,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
for(i=1;i<=n-1;i++)
{
for(j=1;j<=n-i;j++)
{
if(a[j]<a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(i=1;i<=n;i++ )
printf("%d",a[i]);
getchar();
getchar();
return 0;
}
免費領取C++學習資料包一份