用c++代码写学生顺序表的建立
时间: 2023-06-13 18:02:15 浏览: 117
数据结构实验一-线性表.docx
以下是用C语言实现学生顺序表的建立的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_SIZE 100 // 定义顺序表最大长度
typedef struct {
char name[20];
int age;
char gender[10];
char major[30];
} Student; // 学生结构体定义
typedef struct {
Student data[MAX_SIZE];
int length;
} SqList; // 顺序表结构体定义
void printStudent(Student s) { // 打印学生信息
printf("Name: %s\n", s.name);
printf("Age: %d\n", s.age);
printf("Gender: %s\n", s.gender);
printf("Major: %s\n", s.major);
}
void initList(SqList *list) { // 初始化顺序表
list->length = 0;
}
void insertList(SqList *list, Student s) { // 在顺序表中插入一个学生
if (list->length >= MAX_SIZE) {
printf("List is full!\n");
return;
}
list->data[list->length++] = s;
}
void printList(SqList list) { // 打印顺序表中的所有学生信息
for (int i = 0; i < list.length; i++) {
printf("Student %d:\n", i + 1);
printStudent(list.data[i]);
printf("\n");
}
}
int main() {
SqList list;
initList(&list);
// 添加学生
Student s1 = {"Tom", 18, "Male", "Computer Science"};
insertList(&list, s1);
Student s2 = {"Mary", 20, "Female", "English"};
insertList(&list, s2);
Student s3 = {"Jack", 19, "Male", "Mathematics"};
insertList(&list, s3);
// 打印学生信息
printList(list);
return 0;
}
```
在这个示例代码中,我们定义了一个学生结构体和一个顺序表结构体,用于存储学生信息和顺序表中的所有学生。然后我们实现了初始化顺序表、在顺序表中插入一个学生、打印学生信息、打印顺序表中的所有学生信息等函数。最后在 `main` 函数中调用这些函数来实现学生顺序表的建立。
阅读全文