2023.5.8编程一小时打卡

发布时间 2023-05-08 20:09:09作者: 信2211-8李欣垚

一、问题描述:

初始化int类型数组date1[]={1,3,5,7,9,11,13,15,17,19,2,4,6,8,10,12,14,16,18,20},应用本章的直接插入排序模板进行排序,对此函数模板稍作修改,加入输出语句,在每一个待排序元素后显示整个数组,观察排序过程中数据的变化,加深对插入排序算法的理解。

二、解题思路:

首先,定义数组对原数组初始化,然后编写一个插入排序算法的代码对原数组进行排序,并在每个排序后进行输出数组,最后,运行代码进行代码的调试,观测结果。

三、代码实现:

 1 #include<iostream>
 2 #include<string>
 3 #include<vector>
 4 #include<algorithm>
 5 using namespace std;
 6 template<class T>
 7 void sort(T date1[])
 8 {
 9     for(int i=1;i<20;i++)
10     {
11          int temp=date1[i],j;
12          for(j=i-1;j>=0&&date1[j]>temp;j--)
13          {
14                   date1[j+1]=date1[j];        
15          }
16          date1[j+1]=temp;
17           for(int k=0;k<20;k++)
18               {
19                  cout<<date1[k]<<" ";
20               }
21               cout<<endl;
22     }
23 }
24 int main()
25 {
26     int date1[]={1,3,5,7,9,11,13,15,17,19,2,4,6,8,10,12,14,16,18,20};
27     sort(date1);
28 }