回 帖 发 新 帖 刷新版面

主题:大家看看我的答案有没有错????

题目:顺序表Va递增有序,插入一元素X,保持Va原特性---递增有序


我的答案:Status Insert_SqList(SqList &Va,int x)
          {
            int n,j;  
            for(n=0;n<=Va.length;n++)\\寻找Va.elem[n]>x 返回n值;
              {   if(Va.elem[n]>x)   
                   return n;
                   break;
               }
             for(j=n;j<=Va.length+1;j++)\\把>=x的元素后移;
                 {Va.elem[j+1]=Va.elem[j]}
             Va.elem[n]=x;\\插入x;
          }


   大家还有什么好算法  交流交流  我的算法正确不 ??? 欢迎大家讨论  有价值的加分!!!!

回复列表 (共6个回复)

沙发

for(j=n;j<=Va.length+1;j++)\\把>=x的元素后移;
                 {Va.elem[j+1]=Va.elem[j]}

你这里似乎有点错误吧,你从插入的元素开始往后移不是把后面的值给覆盖了吗?
应该是j = Va.length-1;j>=n;j--吧,这样才不会把值给覆盖了。

板凳

非常正确  谢拉啊 加30分

3 楼

不过这道题我自己还挑出了一个毛病  谁顶对了 我来加分

4 楼

汗……难道是你没打分号的错误-__-||||||

5 楼

当然不是哦,插入一元素应该同时增加顺序表的长度  你说呢???
  差一个Va.length++是不是??

6 楼

哦 ,这个是一定要加啊,我也常常忘记-__-|||||

我来回复

您尚未登录,请登录后再回复。点此登录或注册