插入排序算法分析

Posted on 2013-03-02 23:19  LavenderYang  阅读(167)  评论(0)    收藏  举报
 1 /*插入排序算法分析*/
 2 #include<iostream>
 3 #include<vector>
 4 #include<time.h>
 5 #include<fstream.h>
 6 using std::vector;
 7 using namespace std;
 8 //插入排序 
 9 void Insert_Sort(vector<int>& ivec,int size){
10     int key=0,j=0;
11     for(int i=1;i<size;i++){
12         key=ivec[i];
13         j=i-1;
14         while((j>=0)&&(ivec[j]>key)){
15             ivec[j+1]=ivec[j];
16             j--;
17         }
18         ivec[j+1]=key;
19         //cout<<ivec[0]<<endl;
20     }
21 }
22 
23 int main(){
24     for(int i=3;i<1000;i++){
25         int size=i;
26         vector<int> ivec;
27         for(vector<int>::size_type ix=i;ix>0;ix--)
28             ivec.push_back(ix);    
29         clock_t start,finish;
30         double totalTime;
31         start=clock(); 
32         Insert_Sort(ivec,size);    
33         finish=clock();
34         totalTime=(double)(finish-start);
35         cout<<"n="<<i<<"时,花费时间为"<<totalTime<<"毫秒"<<endl; 
36         ofstream saveFile("test.txt",ios::app);
37         saveFile<<i<<" "<<totalTime<<endl;//写数据到文件中
38          saveFile.close();//关闭流
39     } 
40     return 0;
41 }

 

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3