设为首页 加入收藏

TOP

插入排序
2014-11-23 23:21:10 来源: 作者: 【 】 浏览:2
Tags:插入 排序

#include
#include
#include
#include
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{

int val[] = {4,2,7,1,8,9,6};
int Key;
int i ;

LARGE_INTEGER m_liPerfFreq={0};
QueryPerformanceFrequency(&m_liPerfFreq); //获取CPU的时钟频率
LARGE_INTEGER m_liPerfStart={0};
QueryPerformanceCounter(&m_liPerfStart); //获取时钟初始值

for (int j = 1; j < 7; j++)
{
Key = val[j];
i = j - 1;
while(i >= 0 && val[i] > Key)
{
val[i+1] = val[i];
val[i] = Key;
i = i - 1;
}
}

LARGE_INTEGER liPerfNow={0};
QueryPerformanceCounter(&liPerfNow); //获取结束时时钟值
double time=liPerfNow.QuadPart - m_liPerfStart.QuadPart; //两次时钟计数差
time /=m_liPerfFreq.QuadPart; //除于时钟频率,单位为秒(s)
time *= 1000.0; //转换成毫秒(ms)


i = 0;
while(i < 7)
{
cout << val[i] << " ";
i++;
}
cout << endl;
cout<<"插入排序时间消耗:"<< time <<" ms";
cout << endl;
return 0;
}
执行效果并输出这个算法执行所花的时间
\


算法导论里的伪代码介绍

\

对数组 A = {5 , 2 , 4 , 6 , 1 , 3} 排序图解

\

作者“bizhu的专栏”

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇实验项目1――三元组ADT 下一篇Linux Socket编程(不限Linux)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: