隨機生成5000個整數,採用直接插入排序法進行排序;輸入乙個整數x,採用折半查詢之,若存在,輸出下標,否則輸出-1.
#include
#include
#include
using
namespace std;
void
createnode
(int
*l)}
//隨機生成5000個整數
void
insertsort
(int
*l)
l[j+1]
=t;//將t即原l[i],插入到正確位置}}
}//對順序表l做直接插入排序
intsearch_bin
(int
*l,int key)
return-1
;}//折半查詢
(帶哨兵)直接插入排序
將乙個記錄插入到已排序好的有序表中,從而得到乙個新,記錄數增1的有序表。即 先將序列的第1個記錄看成是乙個有序的子串行,然後從第2個記錄逐個進行插入,直至整個序列有序為止。要點 設立哨兵,作為臨時儲存和判斷陣列邊界之用。進人查詢 插入位置 迴圈之前,它儲存了r i 的副本,使不致於因記錄後移而丟失r...
直接插入排序哨兵節點
在 資料結構 直接排序演算法中引入了哨兵節點 目的 減少了越界檢查 只是為了表明哨兵這種結構的潛在價值?將資料直接放置在a 1 n 上 a 0 作為哨位節點 void insertsort item data,int len data j 1 data 0 怎乙個e xin了得 首先更改資料結構 t...
插入排序 直接插入排序
直接插入排序演算法思想 將整個資料表分成左右兩個子表,其中左子表為有序表,右子表為無序表 整個排序過程就是將右子表中的元素逐個插入到左子表中,直到右子表為空,而左子表成為新的有序表。演算法過程分析 將待排序的元素存放在陣列r n 1 中,在初始狀態下,r 0 為監視哨,r 1 為有序區,r 2 r ...