鱼C论坛

 找回密码
 立即注册
查看: 3629|回复: 3

一个顺序存储结构的简单线性表之不改变原有顺序的数字插入问题

[复制链接]
发表于 2021-9-21 16:48:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
怎么在线性表原有的几个从小到大排列的数字中插入一个数字,而且不改变原有顺序呢?
以下是我的代码,可以指出哪里有问题,比如说while那里,该怎么改?
#include<stdio.h>
#define MaxSize 20
typedef int datatype;
  typedef struct
  {
          datatype data[MaxSize];
            int last;
  }sqlist;
  

  int insertlistsq(int i,datatype x,sqlist *p)
  {
  
          int j;
          if((*p).last>MaxSize)
          {printf("溢出错误!\n");
          return(0);
                    
                }
               
               
                else if((i<1)||(i>p->last+1))
                {
                        printf("该位置不存在!\n");
                       
                        return(0);
                       
                }

       else
       {  for(j=p->last-1;j>=i-1;j--)
      
         p->data[j+1]=p->data[j];
         p->data[i-1]=x;
         p->last=p->last+1;
         return(1);
         
         
         
         
                 
           }



  }
int main()
{

       
   
   int m,c,a,h=0;
   datatype z=5;
   
   sqlist o={0,1,2,3,4,6,7,8,9,10};
       o.last=10;
        printf("打印现有原线性表元素\n");
   for(a=0;a<o.last;a++)
   printf("%3d\n",o.data[a]);
     while(z>o.data[h])
             {
                 h=h+1;
                 }
                  
                   m=h+1;      
   
        c==insertlistsq(m,z,&o);
        if(c==0)
        printf("error");
        else
        {
                printf("打印插入后的线性表\n");
                for(a=0;a<o.last;a++)
                printf("%3d\n",o.data[a]);
                }
   
   
   


}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-9-21 16:49:26 | 显示全部楼层
求助各位大神指点一下小弟,小弟刚学数据结构
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-21 19:00:53 | 显示全部楼层
在要插入的位置插入,之后的数据都挪后一位
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-21 19:07:36 | 显示全部楼层
for(j=p.last;j>i;j++)
{ p.data[j]=p.data[j-1]; }
p.data[i-1]=x;
p.last++;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-7-4 23:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表