#include
#include
#include
#include
void
compare
(std::vector<
int>
& vec,
int b,
int start,
int end)
;int
main()
;compare
(sorted,29,
0, sorted.
size()
);for(
int i =
0; i < sorted.
size()
; i++
)return0;
}/** 函式引數意義:
* vec:存放資料(資料必須是有序的,且不能為空,為空的情況需要修改**)
* b:要插入的資料
* start:資料起始位置
* end:資料總長度(這點要注意,它不是下標,想要取下標需要減一)
*/void
compare
(std::vector<
int>
& vec,
int b,
int start,
int end)
//當要插入的資料小於中間值並且起始下標小於終點下標
if(b < vec[mid-1]
&&(start <
(end-1)
))//同上
else
if(b > vec[mid-1]
&&(start <
(end-1)
))else
else
}}
歸併排序及二分法
什麼叫做歸併排序?歸併排序指的是利用 歸併 技術來進行排序。歸併是指將若干個已排序的子檔案合併成乙個有序的檔案。如下圖所示 歸併排序演算法主要分成兩部,一步是 分 另一步是 並 正如上圖所表示的一樣。分指的是從序列中進行二等分,以此分下去,直到序列長度為0或1為止。分 對應的基本問題就是二分法 並指...
二分法插入排序
二分法插入排序 演算法思想簡單描述 在插入第i個元素時,對前面的0 i 1元素進行折半,先跟他們 中間的那個元素比,如果小,則對前半再進行折半,否則對後半 進行折半,直到left right,然後再把第i個元素前1位與目標位置之間 的所有元素後移,再把第i個元素放在目標位置上。二分法沒有排序,只有查...
二分法插入排序
二分法插入排序 演算法思想簡單描寫敘述 在插入第i個元素時,對前面的0 i 1元素進行折半,先跟他們 中間的那個元素比,假設小,則對前半再進行折半,否則對後半 進行折半,直到left right,然後再把第i個元素前1位與目標位置之間 的全部元素後移,再把第i個元素放在目標位置上。二分法沒有排序,僅...