标签:
1 #include <stdio.h>
2
3 typedef float keyType;
4 typedef struct{
5 keyType score;
6 char name[20];
7 }student;
8 typedef struct{
9 int length=6;
10 student stu[6];
11 }sqList;
12
13 void SIS(sqList &L){
14 for(int i=2;i<L.length;i++){
15 if(L.stu[i].score>L.stu[i-1].score){
16 L.stu[0]=L.stu[i];//设置哨兵
17 int j;
18 for(j=i-1;L.stu[0].score>L.stu[j].score;j--)
19 L.stu[j+1]=L.stu[j];//记录后移
20 L.stu[j+1]=L.stu[0];//找到位置,插入元素
21 }
22 }
23 }
24
25 int main(){
26 sqList L;
27
28 for(int i=1;i<L.length;i++){
29 printf("\n请输入第%d个学生的姓名:",i);
30 gets(L.stu[i].name);
31 printf("分数:");
32 scanf("%f",&(L.stu[i].score));
33 getchar();
34 }
35
36 SIS(L);
37 for(int i=1;i<L.length;i++){
38 printf("\n学生%s 分数%f 第%d名",L.stu[i].name,L.stu[i].score,i);
39 }
40 }
直接插入排序(Straight Insertion Sort)的C语言实现
标签:
原文地址:http://www.cnblogs.com/gangtiexia/p/5097171.html