7个元素组成中国朝代顺序表表,第1个元素查找概率...

第2章 线性表_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
第2章 线性表
上传于||文档简介
&&数​据​结​构​电​子​教​案
大小:3.47MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢在顺序表的第i个元素位置之前删除一个元素的子程序_百度知道
在顺序表的第i个元素位置之前删除一个元素的子程序
;插入成功}}intDelete(Sequenlist*L;n&*线性表的运用(1)创建顺序表(2)获取第i个元素(3)查找元素x(4)在某一位置插入数据(5)删除某一位置数据在主函数中调用上述操作;}intGetData(Sequenlist*L;获取第i个元素{if(i&Thereisnosuchnumber,i,);&#47,#include#include#definemaxsize50typedefstruct{intdata[maxsize];n&n&scanf(&);data[j];printf(&L-&elsereturn(0);while(n;printf(&n&last=L-&elseprintf(&quot,&location);lastdata[i]=n;/if(ilast)return(i);inti=1,j);if(n&last-1;Thelocationis%d\print(L);参数i不合理;),L-&;while(ilast&&L-&n&/打印函数{inti!=0)printf(&value=Find(L;data[i]);/Pleaseinputthenumber&#92,k;Whichpln&i++)printf(&在表中删除节点data[i];if(flag==0)printf(&/else{printf(&last);printf(&//L=(Sequenlist*)malloc(sizeof(Sequenlist))!&#92,&n);data[j+1]=L-&/j++)L-&Sequenlist*L,k);/%d&/value=GetData(L;}intInsert(Sequenlist*L;flag=Insert(L;Thelengthis%d&#92?\);printf(&&#47&#47?\%d&quot!\Done?\Thenumberis%d&#92!=0&&L-&/);Fn&=i;last==maxsize)return0;return0;scanf(&n&/&#47,&k);i=i++;/return1;else{printf(&查找功能scanf(&;);L=creat(););&#47,inti)/n&成功删除}voidprint(Sequenlist*L)/在某一位置插入数据{n&创建顺序表{Sequenlist*L,Whichpl;);scanf(&查找元素x{inti=1;for(i=1;n&&#47!=x)i++;printf(&%d&last+1||L-&gt!\/;Pleaseinputthelocation&#92,length)!\FWhichnn&quot,inti)/;删除功能scanf(&;D}return(L),i+1);%d&j&gt,location);插入功能scanf(&//在表中第i个位置插入新元素xif(iL-&else{printf(&n&=1&&ilast)return(L-&求表的长度{return(L-&last)return0;;}printf(&L-&)!\data[i]=x,&j);printf(&);),n;last=0,/j--){L-&data[j];data[j-1]=L-&ilast,intx)//last++;);printf(&&#47,&number);last++;return1;%d&}}intFind(Sequenlist*L,&i);length=Length(L);data[i]);if(iL-&scanf(&;n&if(flag==0)printf(&L-&flag=Delete(L;return(L);L=InitList();Sequenlist*InitList()/}Sequenlist*creat()/删除某一位置的数据{/插入不成功else{for(j=L-&gt,value);n&quot,inti)/}L-&gt,&n);;请插入数据;创建一个有具体内容的顺序表{Sequenlist*L;}intLength(Sequenlist*L)/L-&gt。*/;%d\for(j=i+1!\}voidmain(){}S%d&quot,以0结束&#92,value);print(L);%d&quot
来自团队:
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁在一个长度为n的顺序表中删除第i个元素时,需向前移动多少个元素.有的说是n-i,有的说是n-i-1,我需要正确答案
°神水盟1947
肯定是n-i啊,你就假设最后一个吧,i=n时,是不是不需要移动?那不就是n-n了嘛!有的人为什么说是n-i-1呢,那是因为此时i是用于循环的,当i=0时,代表第一个元素!此时你同样删除最后一个,那么i=n-1,所以移动次数为n-i-1,是不是也等于0啊?对不?
为您推荐:
其他类似问题
扫描下载二维码设顺序表L是一个递增有序表。编写算法,要求利用二分查找法确定插入位置,将元素x插入到L中,使L保持有_百度知道
设顺序表L是一个递增有序表。编写算法,要求利用二分查找法确定插入位置,将元素x插入到L中,使L保持有
将元素x插入到L中,要求利用二分查找法确定插入位置。编写算法设顺序表L是一个递增有序表,使L保持有序
提问者采纳
return 0;data[mid] &data[i] = x)
low = mid + 1;length++;length - 1; i--)
L-&gt。#include&data[mid] &data[i]; x)
high = mid - 1;
scanf(&; i++)
printf(&quot。主函数用于测试说明;data[i + 1] = L-&%d&
printf(&data[i] & low.length:&#92, Qlist *L);
for(i = 0;
return 0这个程序中,%d&
L-&data[i + 1] = L-&gt, &L);
if(L-&%d &Please input the digit you would like to insert:\
scanf(&length - 1, &L;n& x)
for(i = 0;
Insert( i++)
scanf(& i &
for(mid = (low + high) &#47.} Qlist.length); i &Please input the}int Insert(n&quot, L;
int high = L-&
L-& i & 2; low & 2)
printf(&n&data[i];data[i + 1] = x, Qlist *L){
int i,可以自行更改;#define MAX 100typedef struct{
int data[MAX];%d&Please input the digit:\).h&gt, &num);int main(){
for(i = L-&
else if(L-&
printf(& mid = (low + high) &#47.data[i]);
int low = 0;int Insert(;, &L.data[i]),函数Insert()是你的要求结果
int Insert(int x, Qlist *L) 函数中第一个for循环处,for(mid = (low + high) / 2; low & mid = (low + high) / 2)如果当L-&data[mid] =x;函数会出现死循环么?
额,会的。实在抱歉。这段程序是我临时写的,谢谢你能指出错误。修改如下:将循环里面的判断中的一个加上等于这种情况就好了。不好意思给了一个错误的回答哈。
提问者评价
呵呵,客气。。。非常感谢你~
来自团队:
其他类似问题
为您推荐:
二分查找的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁数据结构,求详细解答。。。在查找顺序表各结点概率相等的情况下,顺序按值查找某个元素的算法时间复杂度为( )A.O(1) B.O(n)C.O(根号n ) D.O(log2n)在线性表的下列存储结构中进行插入、删除运算,花费时间最多的是( )A.单链表 B.双链表C.顺序表 D.单循环链表
我也不知道正确答案,那就来猜猜吧。。。。说得不对不要见怪。第一题,因为顺序表是从表中最后一个记录开始,逐个进行记录的关键字和给定值的比较,直到第一个记录。所以时间复杂度应该为O(n)第二题,答案应该是c顺序表。因为顺序表的插入删除都平均移动一半元素,用的时间比链表中插入删除多。
为您推荐:
扫描下载二维码}

我要回帖

更多关于 中国朝代顺序表 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信