1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 顺序表c语言实现—数据结构

顺序表c语言实现—数据结构

时间:2021-10-17 12:23:06

相关推荐

顺序表c语言实现—数据结构

#include <stdio.h>#include <math.h>#include <stdlib.h>#define _CRT_SECURE_NO_WARNINGS#pragma warning(disable:4996)#define MAX 100struct link {int* base;int linksize;};//可以用地址传递,不需要用函数返回了//可以用地址传递,不需要用函数返回了//可以用地址传递,不需要用函数返回了void Init(struct link* L); //初始化顺序表void HSertlink(struct link* L,int e); //表最后插入数据void Sertlink(struct link* L, int i, int e); //表中间插入数据int bianli(struct link L); //遍历顺序表void Delink(struct link* L, int i); //删除表中指定位置数据void GetL(struct link L, int i); //得到第i个值void LookL(struct link L, int e); //数据e在哪个位置int main(){struct link L;Init(&L);HSertlink(&L, 1);HSertlink(&L, 2);HSertlink(&L, 3);bianli(L);printf("\n");printf("\n");Sertlink(&L, 2, 6);bianli(L);printf("\n");printf("\n");Delink(&L, 2);bianli(L);printf("\n");printf("\n");GetL(L, 2);LookL(L, 1);return 0;}void Init(struct link* L){L->base = (int*)malloc(MAX * sizeof(int));if (L->base == NULL){printf("开辟空间失败\n");}else{L->linksize = 0;printf("开辟空间成功\n");}}void HSertlink(struct link* L, int e){if (L->linksize == MAX){printf("顺序表已经满了\n");}else{L->base[L->linksize] = e;L->linksize++;}}void Sertlink(struct link* L, int i, int e){if (i<1 && i>L->linksize)exit(0);int j = 0;if (L->linksize == MAX){printf("顺序表已满\n");}else{for (j = L->linksize - 1; j >= i - 1; j--){L->base[j + 1] = L->base[j];}L->base[i - 1] = e;L->linksize++;}}int bianli(struct link L){int i = 0;for (i = 0; i < L.linksize; i++){printf("顺序表中数据为 = %d\n", L.base[i]);}}void Delink(struct link* L, int i){int j = 0;if (i<1 && i>L->linksize)exit(0);for (j = i - 1; j < L->linksize; j++){L->base[j] = L->base[j + 1];}L->linksize--;}void GetL(struct link L, int i){int e = 0;if (L.linksize == 0){printf("顺序表为空\n");}else{if (L.linksize >= i){e = L.base[i - 1];//数组是从0开始的printf("第 %d 个数据值为 = %d\n", i, e);}}}void LookL(struct link L, int e){int i = 0;for (i = 0; i < L.linksize; i++){if (L.base[i] == e){printf("已经找到数据%d,位置为 ==%d \n",e ,i + 1);}}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。