一、原理:
假設陣列為numarr[4],並且陣列第乙個元素已經賦值為3,numarr[0] = 3;
1.假設產生乙個數temp = 5,若要在插入陣列時排序,則先於numarr[0]比較,temp > numarr[0]; 則5應該插入在3後面,即numarr[1] = 5;
2.假如temp = 1,temp < numarr[0]; 則1應插在3之前,同時3和以後的元素都要向後一位,即
for (int i = 4; i > 0; i--) ;78
for (int i = 0; i < 10; i ++)
11 printf("\n"
);12
1314
15//
在第四個元素前插入乙個元素20,從後往前
1617
for (int i = 9; i > 3; i --)
20 stunum[3] = 20;21
22for (int i = 0; i < 10; i ++)
2526
27//
刪除第二個元素的值,從前往後
28for (int i = 1; i < 10; i ++)
31 stunum[9] = 0;32
33 printf("\n"
);34
for(int i = 0; i < 10; i ++)
3738
39return0;
4041 }
排序之直接排序
這是乙個很簡單的排序 思路很簡單 先在未排序的數中找出最小值,然後放入已排序的末端 如 9 8 7 6 5 4 3 2 1 先是找到最小數1 然後陣列變為 1 8 7 6 5 4 3 2 9 然後在未排序數中找到最小值 2 放入已排序數的末端 變為 1 2 7 6 5 4 3 9 8 如此不斷迴圈最...
排序演算法之直接選擇排序
直接選擇排序是將整個待排序序列分為兩部分,一部分為有序 最開始有序序列為空 一部分為無序 最終無序序列為空 有序序列中的數都不大於無序序列中的數。它的過程是每次都在無序中尋找乙個最小的數,然後將其與無序序列的第乙個數交換,並併入有序序列。則有序序列長度增1,無序序列長度減1。比如 對r 0 n 陣列...
排序演算法之直接選擇排序
直接選擇排序是將整個待排序序列分為兩部分,一部分為有序 最開始有序序列為空 一部分為無序 最終無序序列為空 有序序列中的數都不大於無序序列中的數。它的過程是每次都在無序中尋找乙個最小的數,然後將其與無序序列的第乙個數交換,並併入有序序列。則有序序列長度增1,無序序列長度減1。比如 對r 0 n 陣列...