_Zora. 2022-03-21 16:33 采纳率: 75%
浏览 69
已结题

如何对线性表进行插入和删除

因为刚学线性表,对线性表的操作不是太了解,也不知道怎么对建立的线性表进行插入和删除处理,如果解答,一定会积极采纳,谢谢!
已经建立的线性表程序如下,对其进行插入和删除处理
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define LIST_INIT_SIZE 100
typedef struct stu{
char xuehao[14];
char name[20];
int sex;
char tel[14];
char qq[12];
}ElemType;

typedef struct{
ElemType *elem;//表的空间基址
int length;//表的长度
int Listsize;//表的长度上限
}SqList;

void InitSeqList(SqList &L)//线性表的创建
{
char flag;
int i,n;
ElemType p;
L.elem=(ElemType
)malloc (LIST_INIT_SIZE*sizeof(ElemType));//动态分配空间
L.length=0;
L.Listsize=LIST_INIT_SIZE;
printf("是否输入初始数据?(Y/N)");
scanf("%c",&flag);
getchar(); //修改 吸收缓冲区多余字符
if(flag=='N' ||flag=='n')
return ;
printf("请输入初始化数据的个数:");
scanf("%d",&n);
getchar(); //修改 吸收缓冲区多余字符
if(n>L.Listsize)
{
printf("数据太多,不足以存储!");
return ;
}
p=L.elem;
L.length=n;
for(i=0;i<n;i++)
{
printf("请输入第%d个数据(学号 姓名 性别(0或1) 联系电话 qq号):\n",i+1);
scanf("%s%s%d%s%s",p->xuehao,p->name,&p->sex,p->tel,p->qq);
p++;
}
return;
}

void PrintSeqList(SqList &L)
{
int i;
printf("学号 姓名 性别 联系电话 QQ号\n");
for(i=0;i<L.length;i++)
{
printf("%-14s%-14s",L.elem[i].xuehao,L.elem[i].name);
if(L.elem[i].sex) printf(" 男 ");
else printf(" 女 ");
printf("%-14s%-10s\n",L.elem[i].tel,L.elem[i].qq);
}
}

int main()
{
SqList L;
InitSeqList(L);
PrintSeqList(L);

return 0;

}

  • 写回答

1条回答 默认 最新

  • 浪客 2022-03-21 17:35
    关注

    刚好有人跟你问的一样
    https://ask.csdn.net/questions/7668602

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月30日
  • 已采纳回答 3月22日
  • 创建了问题 3月21日

悬赏问题

  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教