希爾排序:簡單地說,希爾排序就是進行多次的插入排序,次數由增量決定(又稱縮小增量排序,最後增量減小到1)。適合元素多的情況。
一次插入排序是穩定的,不會改變相同元素的相對順序,但在不同的插入排序過程中,相同的元素可能在各自的插入排序中移動,最後其穩定性就會被打亂,所以希爾排序是不穩定的。
隨機數:
要產生[m,n]範圍內的隨機數num,可用:
int num=rand()%(n-m+1)+m;
其中的rand()%(n-m+1)+m。
或者說rand()%x+y所產生的隨機數在[y,x+y-1]這個區間。
#include#include#includevoid shellsort(int b,int count)
;//設定增量
int i,j,getset,temp,j2;
for(i=0;i<3;i++)
}/* printf("--------shellsort--------\n");按增量檢視插入排序是否正確
for(int n=0;n<20;n++)*/}
}int main()
shellsort(a,20);
printf("--------after--shellsort--------\n");
for(n=0;n<20;n++)
}
js生成 n,m 的隨機數 以及實際運用
math.ceil 向上取整。math.floor 向下取整。math.round 四捨五入。math.random 1.0 之間的乙個偽隨機數。包含0不包含1 比如0.8647578968666494 math.ceil math.random 10 獲取從1到10的隨機整數,取0的概率極小。ma...
lua如何產生隨機數,以及需要注意的問題
lua中的自帶函式庫中有兩個關於隨機數的函式,乙個是random,乙個是randomseed。random有兩個引數,用來設定隨機數的範圍,比如random 1,100 設定隨機數的範圍為1至100之間。random函式說明 this function is an inte ce to the ps...
選擇排序,插入排序以及希爾排序
首先,找到陣列中最小的那個元素 將它與陣列中的第乙個元素交換位置 在剩下的陣列中找到最小的元素,和陣列的第二個元素交換位置,如此迴圈往復 public class selection exch a,i,min 陣列兩個元素比較 private static boolean less comparab...