#include
int main()
/*將array陣列的前兩個數按大小賦給new陣列的前兩個元素*/
new[0] = (array[0] < array[1]) ? array[0] : array[1];
new[1] = (array[0] > array[1]) ? array[0] : array[1];
m = 2; //新陣列new的有效個數
for( i = 2 ; i < 10 ; i++ )
else
}/*比較插入的數與low和up位置的大小,準確定位要插入的位置 */
if( (up - low) == 1)
new[low + 1] = array[i];
}/*要插入up後面時,一定是要排在所有元素的後面,所有直接加在後面即可*/
else if(array[i] > new[up])
/*要插入low前面時,一定是第乙個元素,所以所有的元素都要後移乙個*/
else
new[low] = array[i];}}
m++; //每插入乙個數,new陣列的有效個數加1
}
printf("the new 10 numbers is :\n");
for( i = 0 ; i < 10 ; i++ )
putchar('\n');
return 0;
}
程式執行示例:
please input 10 numbers for array:
12 45 78 65 24 23 01 10 12 15
the new 10 numbers is :
1 10 12 12 15 23 24 45 65 78
二分法排序C
首先說一下二分法排序的原理,演算法思想簡單描述 在插入第i個元素時,對前面的0 i 1元素進行折半,先跟他們 中間的那個元素比,如果小,則對前半再進行折半,否則對後半 進行折半,直到left right,然後再把第i個元素前1位與目標位置之間 的所有元素後移,再把第i個元素放在目標位置上。二分法排序...
二分法快速排序
我在實現二分法快速排序的時候,最初的程式是這樣的。include using namespace std void qsort int arr,int left,int right while l r arr l value l if arr l value while l r arr l valu...
氣泡排序 二分法
核心 掐頭去尾取中間.一次砍一半 二分查詢.每次能夠排除掉一半的資料.查詢的效率非常高.但是侷限性比較大.必須是有 序序列才可以使用二分查詢 兩種演算法 常規迴圈,遞迴迴圈 使用二分法可以提高效率,前提條件 有序序列 lst 22,33,44,55,66,77,88,99,101 238 345 4...