C++ソートアルゴリズムのバブルアルゴリズム
1231 ワード
1.発泡アルゴリズム
思想:最初の数から、隣接する2つの数を比較し、小さいものを前にします.
効果:最初の比較で、最大を最後の位置に移動します.2回目は,次数の大きいものを最後から2番目の位置に移動し,このようにN−1サイクルを行う必要がある.
思想:最初の数から、隣接する2つの数を比較し、小さいものを前にします.
効果:最初の比較で、最大を最後の位置に移動します.2回目は,次数の大きいものを最後から2番目の位置に移動し,このようにN−1サイクルを行う必要がある.
void bubble_sort(int a[],int n)
{
for(int i=0;ia[j+1]) //if(*(a+j)>*(a+j+1))
{ //{
int t=a[j]; // int *p=a+j;
a[j]=a[j+1]; // a+j=a+j+1;
a[j+1]=t; // a+j+1=p; ,a ,
} //}
}
, , , 。
void bubble_sort(int a[], int n)
{
for (int i = 0; i *(a + j + 1))
{
int t = *(a + j);
*(a + j) = *(a + j + 1);
*(a + j + 1) = t;
}
}
: , i , n-i , n(n-1)/2
: ,
: , 3n(n-1)/2
,O(n2)