1、直接插入排序InserTSort()
来源:互联网 发布:如何关闭usb端口 编辑:程序博客网 时间:2024/06/06 04:14
//直接插入排序InserTSort()#include<iostream>#include<fstream>#include<cstdlib>#include<windows.h>#include<ctime>using namespace std;const int MAXSIZE=501;//待排序数据规模,r[0]保留,实际数组是r[1]---r[500]//直接插入排序InserTSort()void InsertSort(int r[],int n){int i=0;int j=0;for(i=2;i<=n;i++){r[0]=r[i];for(j=i-1;r[0]<r[j];j--)r[j+1]=r[j];r[j+1]=r[0];}}//从外存data.txt读取数据至内存数组void read_data(int data[]){ifstream infile("data_salary.txt",ios::in);if(!infile){cerr<<"open data_salary.txt error!"<<endl;system("pause");//exit(1);}for(int i=1;i<MAXSIZE;i++)infile>>data[i];infile.close();}//输出内存数组至外存ordered_data_salary.txt文件void write_data(int data[]){ofstream outfile("ordered_data_salary.txt",ios::out);if(!outfile){cerr<<"open ordered_data_salary.txt error!"<<endl;system("pause");//exit(1);}outfile<<"共用时:"<<data[0]<<"微秒"<<endl;for(int i=1;i<MAXSIZE;i++)outfile<<data[i]<<endl;outfile.close();}//测试时间开始inline LARGE_INTEGER time_begin(){LARGE_INTEGER start_time;QueryPerformanceCounter(&start_time);//获取时钟计数return start_time;}//测试时间结束inline LARGE_INTEGER time_end(){LARGE_INTEGER end_time;QueryPerformanceCounter(&end_time);return end_time;}//主函数int main(void){int data[MAXSIZE];//建立待排序数据数组read_data(data);//读数据double time_test;//计算排序测试时间LARGE_INTEGER Freq;//64位有符号整数值QueryPerformanceFrequency(&Freq);//获取时钟周期,“1次/秒”,Hz//测试时间开始LARGE_INTEGER time1=time_begin();//排序算法开始int n=MAXSIZE-1;InsertSort(data,n);//测试时间结束LARGE_INTEGER time2=time_end();time_test=( (time2.QuadPart - time1.QuadPart)*1000000/Freq.QuadPart );//此处*1000,以毫秒为单位;*1000 000以微妙为单位cout<<"直接插入排序法:已经排好顺序,请查看:ordered_data_salary.txt文件!"<<endl;cout<<"排序时间:"<<time_test<<" 微秒"<<endl;data[0]=time_test;//data[0]处存放排序时间write_data(data);//写数据system("pause");return 0;}//time_t begin;//另外一种计算时间的方法//time_t end;//begin=clock();//QuickSort(m,0,7);//r[]、first、end//end=clock();//cout<<"排序时间:"<<double(end - begin)/CLOCKS_PER_SEC<<endl<<endl;
0 0
- 1、直接插入排序InserTSort()
- 插入排序之直接插入(InsertSort)
- Java排序算法(四)--直接插入排序(InsertSort)
- 插入排序InsertSort
- insertSort - 插入排序
- 插入排序 InsertSort
- 插入排序 InsertSort
- 插入排序(InsertSort)
- 插入排序InsertSort
- 插入排序-InsertSort
- java insertsort 插入排序
- 插入排序-insertsort
- 插入排序(InsertSort)
- 插入排序(InsertSort)
- InsertSort 插入排序算法
- 数据结构-插入排序InsertSort
- InsertSort(插入排序)
- 直接插入——InsertSort
- acm程序设计书中的题目o
- C语言 宏的高级用法
- linux常用命令
- caffe实现3D卷积代码 C3D 安装遇到的问题记录
- bzoj3411
- 1、直接插入排序InserTSort()
- 设置MATLAB中figure图的背景为白色
- 【操作系统】 No.1计算机的4个主要组成部分
- Lecture2 Operations
- 【AtCoder】(AtCoder Grand Contest 004)E
- CodeForces Gym 100187 A Potion of Immortality
- linux全部替换命令学习
- Oolong工具:.class二进制文件反编译为.j汇编文件
- 代理模式之jdk动态代理