C语言数据结构顺序表的查找/插入/删除操作

Posted Geek部落格

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言数据结构顺序表的查找/插入/删除操作相关的知识,希望对你有一定的参考价值。

<如题,没啥好说的,数据结构入门级的最基本操作>


展示效果在文末.


代码:

#include <stdio.h>#define MAX_SIZE 50
// 向顺序表插入一个元素x
struct Sqlist{ int data[MAX_SIZE]; int length;}sqlist;void display(struct Sqlist *list, int length);int insert(struct Sqlist *list, int p, int target);int findpos(struct Sqlist L, int x);int findval(struct Sqlist L, int x);int delete(struct Sqlist *L, int p, int x);int main(void){ sqlist.data[0] = 1; sqlist.data[1] = 2; sqlist.data[2] = 4; sqlist.data[3] = 5; sqlist.data[4] = 8; sqlist.length = 5; display(&sqlist, sqlist.length); int x; printf("请输入要插入的元素:\n"); scanf("%d", &x); int p = findpos(sqlist, x); sqlist.length = insert(&sqlist, p, x); display(&sqlist, sqlist.length); printf("请输入要删除的元素:\n"); scanf("%d", &x); int q = findval(sqlist, x); sqlist.length = delete(&sqlist, q, x); display(&sqlist, sqlist.length); return 0;}void display(struct Sqlist *list, int length){ for(int i = 0; i < length; i++) { printf("%d ", list->data[i]); } printf("\n");}int insert(struct Sqlist *list, int p, int target){ if(p < 0 || p > list->length || list->length == MAX_SIZE) { printf("插入失败\n"); return list->length; } for(int j = list->length-1; j >= p; --j) { list->data[j+1] = list->data[j]; } list->data[p] = target; return list->length+1;}int delete(struct Sqlist *L, int p, int x){ if(p < 0 || p >= L->length) { printf("删除失败\n"); return L->length; } else { for(int i = p; i < L->length-1; i++) { L->data[i] = L->data[i+1]; } } return L->length-1;}int findpos(struct Sqlist L, int x){ int i; for(i = 0; i < L.length; ++i) { if(L.data[i] > x) { return i; } } return i;}int findval(struct Sqlist L, int x){ int i; for(i = 0; i < L.length; ++i) { if(L.data[i] == x) { return i; } } return -1;}


<效果展示>


以上是关于C语言数据结构顺序表的查找/插入/删除操作的主要内容,如果未能解决你的问题,请参考以下文章

如何用JAVA语言建立含有若干个元素的顺序表,并实现插入,删除,查找等基本操作

线性表的插入和删除操作代码(C语言)

用C语言实现线性表的顺序存储(创建,插入,删除和查找)

C语言数据结构,在一个顺序表中删除所有元素值3的倍数的元素,求代码

数据结构算法C语言实现---2.3线性表的顺序表示和实现

数据结构实验:线性表的顺序表示和链式表示及插入、删除、查找运算