栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

用线性表中的顺序存储结构实现学生信息的基本操作,如:查找、删除、添加学生信息代码(严蔚敏 数据结构)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

用线性表中的顺序存储结构实现学生信息的基本操作,如:查找、删除、添加学生信息代码(严蔚敏 数据结构)

代码如下: 

#include "stdio.h"
#include "stdlib.h"
#include "string.h"
constexpr auto MAXSIZE = 50;
constexpr auto OVERFLOW = -2;
constexpr auto OK = 0;
constexpr auto ERROR = 0;

typedef int ElemType;
typedef char ArcType;
//建立顺序表
typedef struct
{
    ArcType no[12];//学号
    ArcType name[20] ;//姓名
    ElemType price;//成绩
}Student;

typedef struct
{
    Student *elem;//动态数组,存储空间的基地址
    ElemType length;
}SqList;

//顺序表的初始化
ElemType InintList(SqList &L)
{//创造一个空的顺序表L
    L.elem=new Student[MAXSIZE];//或者是:L.elem=(ElemType*)malloc(sizeof(ElemType)*MAXSIZE);
    if(!L.elem) return OVERFLOW;//存储空间分配失败退出
    L.length=0;//空表长度为0
    printf("初始化完成n");
    return OK;
}

//顺序表中学生信息
ElemType CreateList(SqList &L)
{
    ElemType n,i;
    L.length=0;
    printf("请输入学生人数:n");
    scanf("%d",&n);
    printf("请输入学生的信息:n");
    for(i=0;iL.length+1)) return ERROR;
    if(L.length==MAXSIZE) return ERROR;
    for(j=L.length-1;j>=i-1;j--)//j>=i-1
    {
        L.elem[j+1]=L.elem[j];
    }
    L.elem[i-1]=e;
    L.length++;
    printf("插入后表长为:%dn",L.length);
    return OK;
}

//顺序表的删除
ElemType ListDelete(SqList &L)
{
    ElemType i,j;
    printf("请输入要删除的学生信息的位置:n");
    scanf("%d",&i);
    if((i<1)||(i>L.length)) return ERROR;
    for(j=i;j 

 运行结果:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/889608.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号