408吧 关注:2,754贴子:6,189
  • 4回复贴,共1
求助

顺序表的插入这里有个地方不太清楚

只看楼主收藏回复

想问下顺序表在插入时,for循环这里为什么既可以写成j=L.length又可以写成j=L.length-1啊?
如图:#顺序表#
图二为严蔚敏教材的《数据结构(c语言第二版)》



IP属地:河南来自Android客户端1楼2024-04-26 00:59回复
    其实两者都可以的,只不过图二中L.elem[j+1]=L.elem[j],整体下标是加一的


    IP属地:天津来自Android客户端2楼2024-04-26 13:44
    收起回复
      这个跟L.length值没有关系的,两个for循环中L.length值是一样的,你可能被题目绕进去了,你只需要看那个for循环,
      抛开这个题目给你举个简单的例子吧
      int i=8;
      int m=5;
      int j;
      for(j=m;j<=i;j++)
      printf("%d ",j);
      for(j=m-1;j<=i-1;j++)
      printf("%d ",j+1);
      你可以自己尝试输出一下,这两个for循环输出都是 5 6 7 8 ,道理是一样的,第二个循环虽然条件中减1,但是循环体中加回来了


      IP属地:天津来自Android客户端3楼2024-04-26 17:02
      收起回复