1 #include<bits/stdc++.h>
2 #define MAX 100
3 typedef struct{
4 int *Elem;
5 int length;
6 }SqList;
7 void Creat(SqList &s){
8 s.Elem = (int*)malloc(MAX*(sizeof(int)));
9 if(!s.Elem){
10 printf("创建失败\n"); exit(1);
11 }
12 int n;
13 printf("请输入n以-1结束:\n");
14 scanf("%d",&n);
15 s.length = 1;
16 while(n!=-1){
17 s.Elem[s.length++] = n;
18 scanf("%d",&n);
19 }
20 }
21 //直接插入排序
22 void InserSort(SqList &s)
23 {
24 int i,j;
25 for(i=2;i<s.length;i++){
26 s.Elem[0] = s.Elem[i];
27 for(j=i-1;s.Elem[0]<s.Elem[j];j--){
28 s.Elem[j+1] = s.Elem[j];
29 }
30 s.Elem[j+1] = s.Elem[0];
31 }
32 }
33 //输出顺序表
34 void print(SqList s){
35 int i;
36 for(i=1;i<s.length;i++){
37 printf("%d ",s.Elem[i]);
38 }
39 }
40 int main(){
41 SqList s;
42 Creat(s);
43 InserSort(s);
44 print(s);
45 return 0;
46 }