直接插入排序
2008-09-08 09:21
197 查看
#include<iostream>
using namespace std;
#define NUM 10
void DirectInsert(int *list,int n)
{
int i;
int j;
int x;
for (i=1;i<n;i++)
{
x = list[i];
for (j=i-1;j>=0;j--)
{
if (list[j]>x)
{
list[j+1] = list[j];
}
else
break;
}
list[j+1] = x;
}
}
void Print(int *list,int n)
{
int i;
for (i=0;i<5;i++)
{
cout << list[i] << ",";
}
cout << endl;
}
int main()
{
int arr[NUM];
int i;
srand(1); //初始化随机数发生器
for(i=0;i<NUM;i++)
{
arr[i]=rand()%100;//随机数在0到99范围内
}
cout << "before sorting :" << endl;
Print(arr,sizeof(arr)/sizeof(int));
DirectInsert(arr,sizeof(arr)/sizeof(int));
cout << "after sorting :" << endl;
Print(arr,sizeof(arr)/sizeof(int));
return 0;
}
using namespace std;
#define NUM 10
void DirectInsert(int *list,int n)
{
int i;
int j;
int x;
for (i=1;i<n;i++)
{
x = list[i];
for (j=i-1;j>=0;j--)
{
if (list[j]>x)
{
list[j+1] = list[j];
}
else
break;
}
list[j+1] = x;
}
}
void Print(int *list,int n)
{
int i;
for (i=0;i<5;i++)
{
cout << list[i] << ",";
}
cout << endl;
}
int main()
{
int arr[NUM];
int i;
srand(1); //初始化随机数发生器
for(i=0;i<NUM;i++)
{
arr[i]=rand()%100;//随机数在0到99范围内
}
cout << "before sorting :" << endl;
Print(arr,sizeof(arr)/sizeof(int));
DirectInsert(arr,sizeof(arr)/sizeof(int));
cout << "after sorting :" << endl;
Print(arr,sizeof(arr)/sizeof(int));
return 0;
}
相关文章推荐
- python算法实践1-直接插入排序
- 面试利器(二)-------插入排序(直接插入排序和希尔排序(Shell排序))
- 项目1 验证算法(1) 直接插入排序
- 第15周项目1 -2验证算法之直接插入排序
- 直接插入排序
- 直接插入排序
- 直接插入排序
- 数据结构之 直接插入排序
- 插入排序——直接插入排序、二分插入排序、希尔排序
- 排序算法-直接插入排序
- 算法 -- iOS开发用Objective_C / Swift3.0实现:直接插入排序 / 二分法插入排序 / 希尔排序
- 直接插入排序和希尔排序
- 插入排序--直接插入排序
- 直接插入排序----java实现
- 内部排序之直接插入排序
- 白话经典算法系列之——直接插入排序的三种实现
- 直接插入排序
- 排序系列--直接插入排序
- 【排序算法-4】直接插入排序法
- C# 直接插入排序