#include <stdio.h>
#include <stdlib.h>
#define listinitsize 10
#define listincremant 10
struct sqlist{
int *elem;
int length;
int listsize;};
int listdelete(struct sqlist *li,int i){
int *p,*q,e=0;
if(i<1||i>li->length){
printf("删除的位置有误");
return 0;}
p=&(li->elem[i-1]);
e=*p;
q=li->elem+li->length-1;
for(++p;p<=q;p++)
*(p-1)=*p;
--li->length;
return e;}
void listinsert(struct sqlist *li,int i,int e){
int *p,*q;
if(i<1||i>li->length+1) {
printf("位置错误");
return;}
if(li->length>=li->listsize){
q=(int *)realloc(li->elem,(li->listsize+listincremant)*sizeof(int));}
if(!q) {printf("分配空间错误");
return ;}
q=&(li->elem[i-1]);
for(p=&(li->elem[li->length-1]);p>=q;--p)
*(p+1)=*p;
*q=e;
++li->length;
return;
}
int main()
{
struct sqlist L;
int i,e,a=4,b=4,c=5;
L.elem=(int*)malloc(listinitsize*sizeof(int));
if(!L.elem)
printf("分配空间错误");
L.length=0;
L.listsize=listinitsize;
printf("请输入要插入的位置和数字 删除的位置:");
scanf("%d %d %d",&a,&b,&c);
for(i=0;i<10;i++){
L.elem[i]=i;
L.length++;}
listinsert(&L,a,b);
e=listdelete(&L,c);
for(i=0;i<L.length;i++)
printf("%d ",L.elem[i]);
printf(" \n删除的数字是 %d",e);
}
数据结构顺序表,c语言简单实现
需积分: 5 76 浏览量
2023-01-12
11:12:56
上传
评论 1
收藏 20KB 7Z 举报
学不会的sad
- 粉丝: 7
- 资源: 18
最新资源
- 基于python编写的Keras深度学习框架开发,利用卷积神经网络CNN,快速识别图片并进行分类
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
- 林周瑜-论文.docx
- 基于MIC+NE555光敏电阻的声光控电路Multisim仿真原理图
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈