通过线性表的顺序表示和实现,通过顺序表完成学生信息的存储和修改工作。
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
#define OK 1
#define ERROR 0
#define OVERFLOW -1
#define MAXSIZE 1010//顺序表可达到的最大长度
typedef char status;//定义类型
typedef struct{
int num;
string name;
int score;
}elemtype;
typedef struct{
//顺序表的储存结构
elemtype *elem;//储存空间的基地址
int length;//当前长度 }SqList;//顺序表的结构类型为SqList
//初始化·
int init(SqList &L)
{
//构造一个空的顺序表L
L.elem=new elemtype[MAXSIZE];//为顺序表分配一个大小为MAXSIZE的数组空间
if(!L.elem) exit(OVERFLOW);//储存分配失败,退出
L.length=0;//空表长度为零
return OK;
}
//取值
int GetElem(SqList L,int i,elemtype &e)
{
if(i<1||i>L.length) return ERROR;//判断i值是否合理,若不合理,返回ERROR
e=L.elem[i-1];//elem[i-1]单元储存第i个数据元素
return OK;
}
//查找
int LocteElem(SqList L,int e)
{
//在顺序表L中查找值为e的数据元素,返回其序号
for(int i=0;i<L.length;i++)