簡單排序和冒泡排序法

1.常用各種排序方法的總結:
(1)簡單選擇排序:
基本思想:每次選出最小的
第一次把數組第一個元素同後面所有元素比較,若後面有小於它的則交換元素,直到比較完最好一個元素,選出最小的放在第一個位置。
第二次把數組第二個元素同後面的所有元素進行比較,選出最小的。
...
共需要進行N-1次排序。
例:對整形數組r的n個記錄進行簡單選擇排序:
void SelectSort(int r[],int n)
{
int i,j,min;
int temp = 0; // 交換記錄的臨時變量
for(i=1;i<n;i++)
{
min = i;
for(j = i+1;j<=n;j++)
{
if(r[j] < r[min])
min = j;
if(min != i)
{
temp = r[min];
r[min] = r[i];
r[i] = temp;
}
}
}
}
(2)冒泡排序法:
基本思想:兩個比較排序
第一次對全部記錄自左向右進行順序的兩兩比較,若前者大於後者,則交換位置。
第二次對前N-1個記錄做如上說的操作。
....
如此下去,最多做N-1 次排序就可以完成排序。
例:對整形數組r的n個記錄進行冒泡排序:
void BubleSort(int r[],int n)
{
int i,j;
int temp = 0;
for(i = 0;i < n-1;i++)
{
for(j = 0;j < n-i-1;j++)
if(r[j+1] < r[j];
{
temp = r[j+1];
r[j+1] = r[j];
r[j] = temp;
}
}
}

例子參看C_demo類。
發佈了60 篇原創文章 · 獲贊 6 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章