C语言线性表顺序存储结构(静态)以及元素的获取、插入、遍历(复习)

编程入门 行业动态 更新时间:2024-10-28 15:31:53

C语言线性表顺序存储结构(静态)以及元素的获取、插入、<a href=https://www.elefans.com/category/jswz/34/1771029.html style=遍历(复习)"/>

C语言线性表顺序存储结构(静态)以及元素的获取、插入、遍历(复习)

/*#################################################
# C语言线性表顺序存储结构(静态)以及元素的获取,插入和删除 # 
##################################################*/
#include<stdio.h>
//定义状态值,作为函数的返回值。 OK表示执行成功,ERROR表示执行失败
#define OK 1
#define ERROR 0
//顺序表的最大容量
#define MAXSIZE 20//数据类型,假设为int
typedef int ElemType;
//函数的状态值,用作函数的返回值,判断是否执行成功
typedef int Status;/*##################* 线性表的结构体定义 ###################*/
typedef struct
{//线性表的底层使用数组实现ElemType data[MAXSIZE];//线性表的长度(从1开始)int length;}SqList;/*###########################* 创建一个线性表###########################*/
Status creatList(SqList *list)
{Status status = ERROR;printf("请输入顺序表的长度[1-%d]",MAXSIZE);scanf("%d",&(list->length));for(int i= 0; i < list->length; i++){printf("请输入第%d个元素",i+1);scanf("%d",&(list->data[i]));}printf("顺序表创建完成!\n");return status; 
}/*#######################* 遍历一个线性表#######################*/
Status loopList(SqList list)
{printf("线性表遍历结果如下:\n");for(int i = 0; i<list.length;i++){printf("%d ",list.data[i]);}return OK;
}
/*** 向顺序表指定位置插入元素。*/
Status listInsert(SqList *list, int location , ElemType data)
{Status status;if(list->length == 0){printf("顺序表为空,无法插入任何元素");status = ERROR;}else if(list->length >= MAXSIZE){status = ERROR;printf("顺序表已满,无法插入任何元素");}else if(location < 1 || location > list->length+1){printf("插入的位置不在顺序表范围之内");status = ERROR;}else if(location<=list->length){for(int i = list->length; i >= location; i-- ){list->data[i] = list->data[i-1];}list->data[location] = data;list->length++;status = OK;printf("插入成功\n");}else{status = ERROR;printf("插入失败");}return status;
}/*###########################* main函数用于测试程序*#########################*/int main(){SqList myList;creatList(&myList);loopList(myList);listInsert(&myList,14,3);loopList(myList);return 0;}

更多推荐

C语言线性表顺序存储结构(静态)以及元素的获取、插入、遍历(复习)

本文发布于:2023-07-28 20:25:50,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1300335.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:遍历   静态   顺序   元素   语言

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!