问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言数据结构线性表求解

发布网友 发布时间:2023-05-29 02:45

我来回答

2个回答

热心网友 时间:2024-11-01 21:13

#include <stdio.h>
#include <stdlib.h>

#define MAXSIZE 100 /*线性表的最大长度*/
typedef int ElemType;
//描述线性表
typedef struct { 
ElemType data[MAXSIZE]; 
int length; /*当前表的长度*/
}SeqList;
 
//初始化线性表
SeqList *init_SeqList() {
SeqList *L = (SeqList *)malloc(sizeof(SeqList));
L->length = 0; 
return L; 
}

// 插入
void InsertList(SeqList *L,int i,ElemType e) {
int k;
if(L->length == 0 || i == L->length) {
L->data[L->length] = e;
++L->length;
return;
}
if (i < 1 || i > L->length) { 
printf("The position is mistake!\n");
printf("插入数据%d失败。\n",e);
return;
}
for(k = L->length;k >= i;k--) 
L->data[k] = L->data[k - 1];/* 结点移动 */
L->data[i - 1] = e;
L->length++;
}

//删除元素
int sqListDelete(SeqList *L,int i) { //???????
int k;
if(i < 1 || i >= L->length) { /*检查删除位置的合法性*/
printf ("The position is mistake!"); 
return 0;
}
for(k = i - 1;k < L->length;k++) 
L->data[k] = L->data[k+1]; /*向前移动*/
L->length--; 
return i;
}

// 
int SqlistLcate(SeqList *L,ElemType x) { //??????
int i;
for(i = 0;i < L->length;i++) {
if(L->data[i] == x)
return i + 1; /*返回的是存储位置*/
}
return -1; 
}

void Show(SeqList *list) {
for(int i = 0; i < list->length;++i)
printf("%d ",list->data[i]);
printf("\n");
}

//主函数
int main() { 
int x,loc;
int i;
SeqList *list = init_SeqList();
//添加10个数字给线性表list
printf("please input 10 numbers:");
for(i = 0; i < 10; i++) {
scanf("%d",&x);
InsertList(list,i,x);
}
Show(list);
printf("在第2个位置插入一个元素999后\n");
InsertList(list,2,999);
Show(list);
printf("删除元素%d后。\n",list->data[5 - 1]);
sqListDelete(list,5);
Show(list);
//查找
loc = SqlistLcate(list,4);
if(loc >= 0) printf("第4个元素是:%d\n",list->data[loc]);
else printf("没有找到第4个元素。\n");
return 0;
}

热心网友 时间:2024-11-01 21:14

问题是什么啊,说清楚
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
检察院不批捕取保候审后还会提起诉讼吗 我老公长期在外地工作,每次回来后我们合房的第二天,两个人都觉得特别... 为什么第三次干事,老公不觉得紧,而我也没有那么疼呢,事后觉得有点涨 老公今年才25岁,为什么每次跟我做完爱后就倒头大睡,看起来很累的样子... ...回来就和我做了,做了两次,时间也比以前长,很累,谁知道为什么... 深圳市铭利达精密机械有限公司公司介绍 深圳市宝鑫五金机械厂公司介绍 CNC华明集团企业介绍 华为手机怎么退出talkback模式 华为手机talkback是什么意思_百度... ...开启了一个碰什么都会说那是什么的,这是怎么回事怎么解决? 数控上螺纹导程是什么? 什么叫公制螺纹导程? 螺纹导程 胃肠道平滑肌瘤现在叫什么瘤子 医生,胃部平滑肌瘤是常见病吗 胃平滑肌瘤的临床表现 可待,就是请你再等等我 云山苍苍,江水泱泱——看这一场古典爱情 鹤唳华亭台词 可得解脱处,唯神佛前,与山水间 可得解脱处 音乐,心情,故事 知其不可奈何而安之若命德之至也出自何处? 麦弗逊悬挂的构造 指尖宝追剧怎么用 猎豹浏览器在win8.1系统中的猎豹追剧功能无法使用,显示有更新,但是点 ... 麦弗逊的名词解释 ...了?就是说点击图标之后无法截图,但其他如猎豹追剧等按钮正常。_百度... 版权受到保护的饰品是什么意思 教室用医药箱需配哪些药? 我这个C语言程序哪里出错了 有关顺序表的问题 Dev-c++操作的 大神求教,这段代码哪里有问题,顺序表的逆置问题 乔迁之喜进门拿什么东西 为什么要用新枕头 c程序改错 关于实现合并两个有序顺序表的问题,求一个大佬的帮忙 ...一卡二卡信号同时没了而且一会一没看看就没信号了一会又没了!_百度... 全国德芙失踪案是什么意思 快手无人直播抽帧补帧有用吗知乎 乳腺癌化疗3次天门冬酸氨基转移酶高是什么问题 海康威视公司是私企还是国企 日本人和中国人体貌有区别吗 下陈的下陈 下陈遗址是什么类型的景点 昔充太宗下陈里的下陈是什么? 下陈村属于哪个省哪个市 佛说意外怀孕的孩子没保住,对于意外怀孕的宝宝,究竟能不能生下来?_百... 下陈村位于哪个省 下陈街道到台州西站多远 小产后应该吃什么?没保住流了