#include
using
namespace std;
template
<
class
t>
void
insertionsort
(t *a,
int n)
;template
<
class
t>
void
insertionsort_2
(t* a,
int n)
;template
<
class
t>
void
insert
(const t& e, t* a,
int i)
;int
main()
;double y=
;//第乙個元素不算在排序陣列中
insertionsort
(x,10);
insertionsort_2
(y,5);
for(
int i =
0; i <
10; i++
) cout << x[i]
<<
" ";
cout << endl;
for(
int i =
1; i <
5; i++
) cout << y[i]
<<
" ";
cout << endl;
return0;
}template
<
class
t>
void
insertionsort
(t* a,
int n)
a[in]
= temp;}}
template
<
class
t>
void
insertionsort_2
(t* a,
int n)
a[i + 1] = temp;*/}}
template
<
class
t>
void
insert
(const t& e, t* a,
int i)
a[i +1]
= e;
}
#include
using
namespace std;
template
<
class
t>
void
quicksort
(t* a,
const
int left,
const
int right)
while
(i < j)
;swap
(a[left]
, a[j]);
//j現在為中間位置
quicksort
(a, left, j -1)
;quicksort
(a, j +
1, right);}
}int
main()
;double b=
;quicksort
(a,0,9
);quicksort
(b,0,2
);for(
int i =
0; i <=
9; i++
) cout << a[i]
<<
" ";
cout << endl;
for(
int i =
0; i <=
2; i++
) cout << b[i]
<<
" ";
return0;
}
將兩個已經排序好的陣列歸併到乙個排序好的陣列裡。
#include
#include
//copy演算法的庫
using
namespace std;
template
<
class
t>
void
mergesort
(t* initlist, t* mergelist,
const
int l,
const
int m,
const
int n)
else
}copy
(initlist + i1, initlist + m +
1, mergelist + iresult)
;copy
(initlist + i2, initlist + n +
1, mergelist + iresult);}
intmain()
;//兩個已排序的陣列放在乙個陣列裡,第乙個元素0不算
int b[11]
=;//歸併後的陣列
mergesort
(a, b,1,
4,10)
;for
(int i =
1; i <=
10; i++
) cout << b[i]
<<
" ";
cout << endl;
return0;
}
基本排序演算法 插入排序
排序方式 插入排序 插入排序的 實現雖然沒有氣泡排序和選擇排序那麼簡單粗暴,但它的原理應該是最容易理解的了,因為只要打過撲克牌的人都應該能夠秒懂。當然,如果你說你打撲克牌摸牌的時候從來不按牌的大小整理牌,那估計這輩子你對插入排序的演算法都不會產生任何興趣了 哈哈?原理 從第二個元素開始 假定第乙個元...
基本排序演算法 插入排序
排序演算法相關理論網上資料已經很多了,這裡記錄一下 方便複習。插入排序核心思想 把陣列分為有序表和無序表,從後面無序表中依次取出第乙個數,插入到有序表的適當位置。description 插入排序 1.從第乙個元素開始,該元素可以認為已經被排序 2.取出下乙個元素,在已經排序的元素序列中從後向前掃瞄 ...
快速排序和插入排序
下面介紹用快速排序法和插入排序法來給乙個一維陣列排序 具體 實現如下 快速排序法 function quick sort arr 獲取陣列的長度 len count arr 如果陣列的 1,說明不許排序 if len 1 選擇第乙個元素作為標尺 base arr 0 初始化兩個陣列 left arr...