冒泡,選擇,插入排序演算法C 實現

2021-08-05 23:38:40 字數 2161 閱讀 7359

void swap(int &a, int &b)

void showsortresult(int *array, int arraysize)

/*氣泡排序的原理:每次在無序佇列裡將相鄰兩個數依次進行比較,將小數調換到前面,逐次比較,

直至將最大的數移到最後。最將剩下的n-1個數繼續比較,將次大數移至倒數第二位。依此規律,直至比較結束。

冒泡最大放後排

*/void bubblesort(int *array, int arraysize)

showsortresult(array, arraysize);

}}/*

選擇排序的原理:每次在無序佇列中「選擇」出最小值,放到有序佇列的最後,並從無序佇列中去除該值。

選擇最小放前排

*/void selectionsort(int *array, int arraysize)

if (min != i)

swap(array[min], array[i]);

showsortresult(array, arraysize);

} }/*

插入排序的原理:始終定義第乙個元素為有序的,將元素逐個插入到有序排列之中,其特點是要不斷的

移動資料,空出乙個適當的位置,把待插入的元素放到裡面去。

1〉從第乙個元素開始,該元素可以認為已經被排序

2〉取出第乙個未排序元素存放在臨時變數temp中,在已經排序的元素序列中從後往前掃瞄,逐一比較

3〉如果temp小於已排序元素,將該元素移到下個位置

4〉重複步驟3〉,直到找到已排序的元素小於或者等於

*/void insertsort(int *array, int arraysize)

array[j+1] = temp; //將臨時變數放在j+1的位置上

}}int main()

; int arraylength = sizeof(testarray) / sizeof(int);

/*******************************************/

/* bubblesort */

/*******************************************/

//cout << "before sort :";

//showsortresult(testarray, arraylength);

////bubblesort(testarray, arraylength);

////cout << "after sort :";

//showsortresult(testarray, arraylength);

/*******************************************/

/* selectionsort */

/*******************************************/

//cout << "before sort :";

//showsortresult(testarray, arraylength);

//selectionsort(testarray, arraylength);

//cout << "after sort :";

//showsortresult(testarray, arraylength);

/*******************************************/

/* insertsort */

/*******************************************/

cout << "before sort :";

showsortresult(testarray, arraylength);

insertsort(testarray, arraylength);

cout << "after sort :";

showsortresult(testarray, arraylength);

system("pause");

return 0;

}

冒泡 選擇 插入排序演算法

1.氣泡排序 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。這步做完後,最後的元素會是最大的數 也就是第一波冒泡完成 針對所有的元素重複以上的步驟,除了最後乙個。持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。...

java實現冒泡 選擇 插入排序演算法

package xiaoneiwang publicclasstest 假設第乙個數是乙個有序陣列 拿後面的每乙個數往這個陣列插入 int arr2 sort3 arr for int i arr2 插入排序發 假設前面是乙個已經排好的序列 從前面只有乙個開始 publicstaticint sor...

排序演算法 冒泡 選擇 插入排序

本文簡單總結一下三大排序演算法,如有不足,請多多提意見。簡述 從小到大排序,每次比較兩個元素,看他們的順序有沒有錯,如果錯了就換過來。a 比較abc.元素,如果第乙個比第二個大,則將兩個元素交換位置 bac.再依次將a和c進行比較。b 對每一對相鄰的元素做同樣的工作,從第一對到最後一對。這一次執行完...