推荐慕课网,刘宇波老师《算法与数据结构》
链接:http:
insertionSort 课堂笔记
#include <iostream>
using namespace std;
void swap(
int &a,
int &b)
{
int t = a;
a = b;
b = t;
}
template<
typename T>
void insertionSort(T arr[],
int n)
{
for(
int i =
1;i < n;i++)
for(
int j = i;j>
0 && arr[j] < arr[j-
1];j--)
swap(arr[j],arr[j-
1]);
}
int main(){
int arr[] = {
9,
8,
7,
6,
5,
4,
3,
2,
1};
int n =
sizeof(arr)/
sizeof(arr[
0]);
insertionSort(arr,n);
for(
int i =
0;i<n;i++)
printf(
"%d ",arr[i]);
printf(
"\n");
return 0;
}
template<
typename T>
void insertionSort2(T arr[],
int n){
for(
int i =
1;i < n;i++){
T e = arr[i];
int j;
for(j = i;j>
0 && arr[j-
1]>e;j--)
arr[j] = arr[j-
1];
arr[j] = e;
}
}