实验二 性线表的插入与删除操作 ——数组实现
1. 实验目的
巩固线性表的概念和基本操作,学会用数组实现线性表。
2. 实验内容
数据结构及定义与实验一一样。要求有以下的功能都用单独一个函数实现:
- 插入某一个同学的数据
- 删除某一个同学的数据
- 输入学号查找某一个同学
- 输出整个表格。
实验二程序框架
1 #include<stdio.h>
2 const int MAXSIZE= 100;
3 typedef struct{
4 int number;
5 char name[20];
6 int chinese;
7 int math;
8 int physics;
9 int totalScore;
10 int order;
11 }datatype;
12 typedef struct {
13 datatype a[MAXSIZE];
14 int size;
15 } sequence_list;
16 int main() {
17 int i;
18 int pos;
19 int select;
20 sequence_list stud;
21 init_sequence_list(&stud);
22 while(1) {
23 printf(" 请选择 : 0(退出) 1(插入),2(删除) 3(查找)4(打印):");
24 scanf("%d",&select);
25 switch(select) {
26 case 1:
27 printf("输入要插入的位置");
28 scanf("%d",&pos);
29 /* todo:输入一个同学的数据:学号,姓名,成绩等*/
30 /* todo:写一个函数实现插入算法 ,并在此处调用*/
31 break;
32 case 2:
33 /* todo:输入要删除的同学的学号*/
34 /* todo:写一个函数实现删除算法 ,并在此处调用*/
35 break;
36 case 3:
37 /* todo:输入要查找的同学的学号*/
38 /* todo:写一个函数实现查找算法 ,并在此处调用*/
39 break;
40 case 4:
41 /*todo: 写一个函数,打印出所有学生的相关信息。*/
42 break;
43 case 0:
44 printf("程序正常结束,下次再见\n");
45 return 0;
46 }
47 }
48 }
3. 思考题
- 如果要求按学号排序,同时计算出每个学生的总成绩和名次,应该如何实现?