网易首页 > 网易号 > 正文 申请入驻

数据结构——线性表的初始化,查找,删除,插入,取值操作(c)

0
分享至

线性表:

#include
#include
#define TURE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2

#define list_init_size 80 //初始分配存储空间
#define listincreament 10 //存储空间分配增量

初始化:

typedef struct
{
int *elem; //存储空间基址
int length; //当前长度
int listsize; //当前分配的存储容量
} SqList;//结构体定义//

int InitList_Sq(SqList *L)

{

L->elem=(int *)malloc(list_init_size*sizeof(int)); //存储分配失败

if(!L->elem)

exit(OVERFLOW); //空表长度初始化为0;

L->length=0; //存储的初始容量为初始分配空间

L->listsize=list_init_size;

return OK;

}

赋值:

int Input_Sq(SqList *L,int n)

{

int i, *newbase;

if(n<0) return ERROR;

if(n>L->listsize)

{

newbase=(int *)malloc(listincreament*sizeof(int));

if(!newbase) exit(OVERFLOW);

L->elem=newbase;

L->listsize+=listincreament;

}

//如果输入的n大于初始化分配的空间,则需要扩大分配空间的范围//

printf("情输入元素:\n");

for(i=0;i

{

scanf("%d",&L->elem[i]);

//正式赋值,arr[i]=*(arr+i),所以L->elem[i]=*(L->elem+i)//

L->length++;

}

return OK;

}

int cha(sqlist *L,int p)

{

for(int i=0;i<=L->length;i++)

{

if((L->length)[i]==p)

/*L->length[i]=*(L->length+i)*/

{

printf("p在%d处",i);

}

return i;

}

插入:

int ListInsert_Sq(SqList *L,int i,int e)

{ //i需要满足1<=i<=ListLength_Sq(L)+1,即插入的元素是第一个元素到最后一个元素中间//

int *newbase;

int *p;

int *q;

if(i<1||i>L->length+1) return ERROR;

if(L->length>=L->listsize)

{ //当前存储空间已满,增加分配

newbase=(int *)malloc(L->elem,(L->listsize+listincreament)*sizeof(int));

//如果i超出范围则需要重新添加内存//

if(!newbase) exit(OVERFLOW); //存储分配失败

for(int j=0;jlength;j++)

{ newbase[j]=L->elem[j]; }

L->elem=newbase; //新基址

L->listsize+=listincreament; //增加存储容量

}

//开始后移//

q=&(L->elem[i-1]); //q为插入的位置(注意数组的下标是从0开始计数)

for(p=&(L->elem[L->length-1]);p>=q;p--)

*(p+1)=*p; //插入位置及之后的元素后移

*q=e; //插入e

L->length+=1; //表长增1

return L->length;

}

插入一个元素应该先将分配内存扩大一个元素位置,然后用指针p指向最后一个元素,q指向插入的位置,q位置及以后的元素往后移一个位置,从最后一个开始移,每转移一个将p向前推进,当p和q相遇时执行最后一个元素的后移。全部转移后在此时的q处插入元素即可。

删除:

同理,删除操作是先将删除的地方标为指针q,进行删除操作,然后将q后的元素前移就可以了。

取值:

取第i个元素的数据,即取L->elem[i]。


————————————————
学习借鉴的原文链接:https://blog.csdn.net/qq_20406597/article/details/80937446

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
不是周琦,不是二飞,顶级助力驰援广东,杜锋迎两利好,辽篮悬了

不是周琦,不是二飞,顶级助力驰援广东,杜锋迎两利好,辽篮悬了

东球弟
2024-05-02 11:55:40
《哈尔滨1944》直到关雪被杀,宋卓文才明白,自己错得有多离谱

《哈尔滨1944》直到关雪被杀,宋卓文才明白,自己错得有多离谱

娱乐倾城巷
2024-05-03 09:36:04
杭甬高铁票价将调整!

杭甬高铁票价将调整!

鲁中晨报
2024-05-03 10:05:04
越闹越大!顶级专家抗议被无视后,更多内情曝光,范主任摊上事了

越闹越大!顶级专家抗议被无视后,更多内情曝光,范主任摊上事了

影孖看世界
2024-05-01 14:56:43
私人影院提供特色观影服务?我试图前往体验,却发现掉入桃色陷阱

私人影院提供特色观影服务?我试图前往体验,却发现掉入桃色陷阱

亲爱的落落
2024-04-15 10:57:58
越闹越大!董宇辉河南行砸牌子了,收到货是断的,网友很生气暴怒

越闹越大!董宇辉河南行砸牌子了,收到货是断的,网友很生气暴怒

娱乐八卦木木子
2024-05-03 04:05:59
尘埃落定!费南多无缘国足vs泰国悬念揭晓,泰山记者传来最新消息

尘埃落定!费南多无缘国足vs泰国悬念揭晓,泰山记者传来最新消息

大咖唠体育
2024-05-03 09:30:35
心痛!梅大高速塌方一家五口确认遇难,包括俩儿子,最小的仅10岁

心痛!梅大高速塌方一家五口确认遇难,包括俩儿子,最小的仅10岁

小白探影8
2024-05-02 22:53:27
中国好兄弟向美国倒戈?前脚骗中国供电,中方:必须严惩!

中国好兄弟向美国倒戈?前脚骗中国供电,中方:必须严惩!

星辰故事屋
2024-05-01 17:27:29
沈阳突发大案,凶手被抓前录像曝光:我杀了4、5个人,牛X不?

沈阳突发大案,凶手被抓前录像曝光:我杀了4、5个人,牛X不?

全民历史观
2024-05-02 20:55:08
妹夫做局长后抛弃了妹妹,我调回老家任县委书记后,妹夫被免职

妹夫做局长后抛弃了妹妹,我调回老家任县委书记后,妹夫被免职

乔生桂
2024-05-01 21:29:31
NBA球星开车有多憋屈?大姚坐路虎也勉强,KD两根手指捏方向盘

NBA球星开车有多憋屈?大姚坐路虎也勉强,KD两根手指捏方向盘

小豆豆赛事
2024-05-03 07:45:21
大量北约士兵被杀!美急踩刹车求谈判,俄回应绝了,北约深陷危机

大量北约士兵被杀!美急踩刹车求谈判,俄回应绝了,北约深陷危机

青年的背包
2024-05-02 09:37:39
梅大高速公路的主要承包单位是中铁九局,相信国企不是豆腐工程

梅大高速公路的主要承包单位是中铁九局,相信国企不是豆腐工程

普陀动物世界
2024-05-02 23:05:34
中国帮印尼造高铁后,菲律宾:我们28亿美元的高铁订单,交给中国

中国帮印尼造高铁后,菲律宾:我们28亿美元的高铁订单,交给中国

杨铁柱
2024-05-01 13:50:36
罗马诺:拜仁原定下周官宣朗尼克,遭拒绝后将立即重启选帅谈判

罗马诺:拜仁原定下周官宣朗尼克,遭拒绝后将立即重启选帅谈判

直播吧
2024-05-02 16:50:12
前总统克里斯蒂娜重现政治舞台批评现政府 遭米莱强烈回击

前总统克里斯蒂娜重现政治舞台批评现政府 遭米莱强烈回击

新阿华人通
2024-05-02 23:27:26
干啥啥不行,吹牛第一名!特斯拉车祸神迹扒掉国产新能源车内裤

干啥啥不行,吹牛第一名!特斯拉车祸神迹扒掉国产新能源车内裤

户外小阿隋
2024-05-02 11:47:00
卡琳娜胯宽被dfxr,想不通女性胯宽到底哪里刺痛这些的玻璃心了

卡琳娜胯宽被dfxr,想不通女性胯宽到底哪里刺痛这些的玻璃心了

大宗看萌宠
2024-05-02 23:32:52
大学生卖烧饼年入110万的新闻,被网友扒出了一些问题!

大学生卖烧饼年入110万的新闻,被网友扒出了一些问题!

麦杰逊
2024-05-01 10:00:03
2024-05-03 10:56:49
左右C语言
左右C语言
对各领域的最新科技产品的介绍
45文章数 1338关注度
往期回顾 全部

科技要闻

iPhone销售同比降10% 库克满意中国业绩

头条要闻

俄展出西方援乌武器请美英大使先看 媒体:天下奇观

头条要闻

俄展出西方援乌武器请美英大使先看 媒体:天下奇观

体育要闻

没有詹杜库的季后赛次轮

娱乐要闻

黄子韬被曝求婚徐艺洋 大量亲密照曝光

财经要闻

远超想象?"股神"巴菲特的AI投资布局

汽车要闻

北京车展上的概念车,AI如何点评?小米SUV发布?

态度原创

艺术
房产
教育
数码
时尚

艺术要闻

造科幻之物于园林 “天工开悟——夏航雕塑展”于南池子美术馆呈现

房产要闻

单价2万内,装标4200+,主城改善大盘无套路硬刚!

教育要闻

全国高考录取率90%,河南985和211录取率为0.90%、4.10%,太难了

数码要闻

苹果确认iPadOS将在今年秋季与iOS一样对欧盟区域应用程序进行修改

女人别管多大年纪,多穿蓝色、红色、绿色、卡其色,更显气质

无障碍浏览 进入关怀版