删除顺序表中的第i个元素,,给个完整的 C语言代码吧~~~ 谢谢 20

 我来答
娱乐小八卦啊a
高粉答主

2020-05-21 · 娱乐小八卦,天天都知道
娱乐小八卦啊a
采纳数:256 获赞数:117866

向TA提问 私信TA
展开全部

#include <stdio.h>

#define MAXSIZE 100

typedef struct{

int elem[MAXSIZE];    

int last;

} SeqList;

void deletelist(SeqList *l,int i,int k);

int main(){    

int i,k,j=0;

SeqList *l;

SeqList a;

l=&a;    

scanf("%d%d",&i,&k);//输入i和k

while(scanf("%d",&l->elem[j])!=EOF)

j++;//输入顺序表内容

l->last=j-1;

deletelist(l,i,k);    

return 0;

}    

扩展资料

顺序表插入元素

向已有顺序表中插入数据元素,根据插入位置的不同,可分为以下 3 种情况:

1、插入到顺序表的表头

2、在表的中间位置插入元素;

3、尾随顺序表中已有元素,作为顺序表中的最后一个元素;将要插入位置元素以及后续的元素整体向后移动一个位置;将元素放到腾出来的位置上。

注意,动态数组额外申请更多物理空间使用的是 realloc 函数。并且,在实现后续元素整体后移的过程,目标位置其实是有数据的,还是 3,只是下一步新插入元素时会把旧元素直接覆盖。

大宝妈谈教育
高粉答主

2020-05-17 · 关注我不会让你失望
知道小有建树答主
回答量:3306
采纳率:100%
帮助的人:55.9万
展开全部

删除顺序表中的第i个元素代码如下:

Bool DeleteList(sqlist&l,int pos, int&e)

如果(pos<1|| pos>L.length)返回false;

E=L。base[pos-1];

For (int I = pos. I < L)l蒜皮的;我+ +)

l[I-1=L]base[我];

ll蒜皮-;

返回true;

扩展资料:

C语言对数组元素大小排序:

下面使用冒泡排序将实线数组从小到大排序。

思想:每次比较两个相邻的数字,如果按升序排列,大的数字会放在后面,经过一个循环,最大的数字会放在最后。

10、2、3、4、5、6、987,1是排序序列的输入,第一批订单后,将是最大的,10最后,第二个订单,剩下的2,3,4,5,6,9、8、7、1到泡沫,将是最大的电流9在倒数第二的位置,等等。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
HongZe081100
推荐于2017-10-14 · TA获得超过580个赞
知道小有建树答主
回答量:436
采纳率:0%
帮助的人:440万
展开全部
//删除pos位置元素

bool DeleteList(SqList& L,int pos,int& e)
{
if(pos<1||pos>L.length) return false;
e=L.base[pos-1];
for(int i=pos;i<L.length;i++)
{
L.base[i-1]=L.base[i];
}

L.length--;
return true;
}
更多追问追答
追问
有用简单数组写的,输入哪个数就删除哪个的那种代码么?? 用C++执行的
追答
只要做简单的替换即可,线性表替换成数组,如下:
template
bool Delete(ElemType* L,int length,int pos,ElemType& e)
{
if(poslength) return false;//参数合法性检查
e=L[pos-1];//保留删除元素
for(int i=pos;i<length;i++)//这步最关键,删除元素后,要前移后续元素
{
L[i-1]=L[i];//前移
}
return true;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
du小虾
2012-09-14 · TA获得超过497个赞
知道小有建树答主
回答量:373
采纳率:57%
帮助的人:212万
展开全部
#include <stdio.h>
#define MAXLENGTH 100
int del(char arr[],int i)
{
int j=0;
while(arr[j]!='\0') j++;
int max=j;
if(i>=j) return -1;//判断超出表的最大长度没
for(j=i;j<max;j++)
arr[j]=arr[j+1];
return 0;
}
int main(int argc, char* argv[])
{
char ar[]="0123456789";//假如这是个表
del(ar,3);//删除顺序表ar中的第四个元素
printf("%s\n",ar);
return 0;
}
追问
这个都固定删哪个了,,有用简单数组写的,输入哪个数就删除哪个的那种代码么??
追答
我写的是思路
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Xuxu8511
2012-09-14 · TA获得超过388个赞
知道小有建树答主
回答量:1344
采纳率:0%
帮助的人:774万
展开全部
顺序表 是什么结构 的? 顺序存储结构(数组)? 链式存储结构(链表)?
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式