1.
要求輸入10個整數,從大到小排序輸出
輸入:2 0 3 -4 8 9 5 1kjnirrtiv 7 6
輸出:9 8 7 6 5 3 2 1 0 -4
解決方法:選擇排序法
實現**如下:
#include
int main(int argc, const char * ar**)
//用兩個for巢狀迴圈來進行資料大小比較進行排序
for(j=0;j<9;j++)
//用兩次層for迴圈來比較資料,進行冒泡
for(j=0;j<9;j++)
//用乙個for迴圈來輸出陣列中排序好的資料
for(l=0;l<=9;l++)
return 0;
}本文標題: 常用的c語言排序演算法(兩種)
本文位址:
兩種常用的排序演算法
本文討論兩種著名且很有用的排序演算法 插入排序,快速排序。插入排序的思想與打牌起牌類似 每次從牌堆裡拿一張牌,插入到已經排好序的牌中。具體演算法描述如下 從第乙個元素開始,該元素可以認為已經被排序 取出下乙個元素,從該元素開始,從後向前掃瞄表 如果前乙個元素大於後乙個元素,則交換兩個元素的位置 重複...
C語言中兩種常用的陣列排序法
第一種氣泡排序法 原理 兩兩陣列元素比較待排序記錄的關鍵字,發現兩個記錄的次序相反時即進行交換,直到沒有反序的記錄為止。相當於兩個氣泡,輕者上浮,重者下沉。include includeint main printf 輸出排序後的陣列元素 for i 0 i 10 i printf d a i sy...
快速排序的兩種演算法
假設我們現在對 6 1 2 7 9 3 4 5 10 8 這個10個數進行排序。先將第乙個數當成基準數,然後以i,j當成哨兵分別指向陣列的首尾,第一次讓j先移動,移動到比基準數小的數字時停下,然後讓i移動至比基準數大的數字停下,交換arr i 和arr j 一直遍歷,知道i和j兩個哨兵相遇停止,然後...