顺序表的插入运算 NOJ1 西工大 数据结构
2021/5/30 10:50:39
本文主要是介绍顺序表的插入运算 NOJ1 西工大 数据结构,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
顺序表的插入运算 NOJ1 西工大 数据结构
代码如下
#include <stdio.h> #include <stdlib.h> #define MAXSIZE 100 //线性表的最大长度 #define ERROR 0 #define OK 1 typedef int ElemType; typedef struct { ElemType elem[MAXSIZE]; //线性表占用的数组空间 int last; //线性表最后一个元素在数组中的位置下标值,空表置为-1; }SeqList; int InsList(SeqList *LA, int i,ElemType e) //顺序表LA,插入位置i,插入元素e; { if (LA->last>MAXSIZE-2) { printf("表已满,无法插入"); return (ERROR); } if ((i<1)||(i>LA->last+2)) //判断插入位置是否合法 { printf("插入位置不合法"); return (ERROR); } for (int k = LA->last; k >= i - 1;k--) //为插入元素而移动位置 { LA->elem[k + 1] = LA->elem[k]; } LA->elem[i - 1] = e; LA->last++; return (OK); } int Locate(SeqList LA,ElemType e) //线性表LA;插入元素e;查找需要插入的位置; { int i=LA.last; while (LA.elem[i]>=e) i--; if (i<=LA.last) return(i+2); else return(-1); } int main() { int e,num; //元素个数num; 插入元素e; SeqList LA; scanf("%d",&num); LA.last=-1; LA.last+=num; for (int a=0;a<=LA.last;a++) { scanf("%d",&LA.elem[a]); } scanf("%d",&e); Locate(LA,e); InsList(&LA,Locate(LA,e), e); for (int b=0;b<=LA.last;b++) { printf("%d ",LA.elem[b]); } return 0; }
这篇关于顺序表的插入运算 NOJ1 西工大 数据结构的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现