_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 matlab中使用gurobi时报错
  • ¥15 WPF 大屏看板表格背景图片设置
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂