直接插入排序举例
2010-05-31 20:50
162 查看
#include<iostream>
template<class T>
void InsertionSort(T A[],int n)
{
int i,j;
T temp;
for(i=1;i<n;i++)
{
j=i;
temp=A[i];
while(j>0&&temp<A[j-1])
{
A[j]=A[j-1];
j--;
}
A[j]=temp;
for(int k=0;k<n;k++)
cout<<A[k]<<" ";
cout<<endl;
}
}
int main()
{
int data1[]={1,3,5,7,9,11,13,15,17,19,2,4,6,8,10,12,14,16,18,20};
cout << "排序前的数据:" << endl;
for(int i=0;i<20;i++)
cout << data1[i] << " ";
cout << endl;
cout << "开始排序..." << endl;
InsertionSort(data1, 20);
cout << "排序后的数据:" << endl;
for(int i=0;i<20;i++)
cout << data1[i] << " ";
cout << endl;
}
template<class T>
void InsertionSort(T A[],int n)
{
int i,j;
T temp;
for(i=1;i<n;i++)
{
j=i;
temp=A[i];
while(j>0&&temp<A[j-1])
{
A[j]=A[j-1];
j--;
}
A[j]=temp;
for(int k=0;k<n;k++)
cout<<A[k]<<" ";
cout<<endl;
}
}
int main()
{
int data1[]={1,3,5,7,9,11,13,15,17,19,2,4,6,8,10,12,14,16,18,20};
cout << "排序前的数据:" << endl;
for(int i=0;i<20;i++)
cout << data1[i] << " ";
cout << endl;
cout << "开始排序..." << endl;
InsertionSort(data1, 20);
cout << "排序后的数据:" << endl;
for(int i=0;i<20;i++)
cout << data1[i] << " ";
cout << endl;
}
相关文章推荐
- 8)排序③排序算法之插入排序[1]直接插入排序
- 【排序一】插入排序(直接插入排序&&希尔排序)
- 排序算法 -- (一)直接插入排序
- 常用排序算法之直接插入排序
- 【数据结构】排序算法(一)之直接插入排序,冒泡排序
- 排序算法【java实现】(一)直接插入排序
- 直接插入排序
- 直接插入排序
- 排序算法(一)--插入排序之直接插入排序和希尔排序
- C/C++排序之二(直接插入排序、 折半插入排序、归并排序(递归))
- 直接插入排序(Straight Insertion Sort)
- 一步步学习数据结构和算法之直接插入排序效率分析及java实现
- 直接插入排序
- 数列排序(直接插入排序)
- 【插入排序】 - 直接插入排序
- C#冒泡排序和直接插入排序
- Java学习-插入排序1-直接插入排序
- 学Python写算法系列(一) | 直接插入排序
- 直接插入排序
- 算法之直接插入排序和希尔排序