| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 552 人关注过本帖
标题:线性表插入,删除,求指教
只看楼主 加入收藏
qwe885167759
Rank: 4
等 级:业余侠客
威 望:5
帖 子:148
专家分:259
注 册:2013-3-12
结帖率:72.22%
收藏
 问题点数:0 回复次数:1 
线性表插入,删除,求指教
#include <stdio.h>
#include <stdlib.h>
#define  list   10
#define  listadd  10
typedef  int   Status;
typedef  int   Elemtype;
typedef  struct
{
    Elemtype   *  elem;
    int length;
    int listsize;
}Sqlist;
Status  Intlist(Sqlist & l)
{
     l.elem=(Elemtype *)malloc (list * sizeof (Elemtype));
     if (! l.elem)
         exit (-1);
     l.length = 0;
     l.listsize = 10;
     printf("请输入10个数字:\n");
     for (int i=0;i<10;i++)
     {
         scanf("%d",&l.elem[i]);
     }
     for (int j=0;j<10;j++)
     {
        printf("%d  ",l.elem[j]);
     }
     printf("\n");
     return 1;
}

Status listinsert(Sqlist & l,int i,Elemtype e )
{
    Elemtype *q,*newbase,*p;
    if(i<1||i>l.length+1)
        return -1;
    if(l.length>=l.listsize)
    {
        newbase = (Elemtype * )realloc (l.elem,(list+listadd)*sizeof (Elemtype));
        if(!newbase)
            return -1;
        l.elem=newbase;
        l.listsize+=10;
    }
    q=&(l.elem[i-1]);
    for (p=&(l.elem[l.length - 1]);p>=q;--p)
        *(p+1)=*p;
    *q=e;
    ++l.length ;
    return 1;
}

Status listdelete (Sqlist &l,int i, Elemtype &e)
{
    Elemtype * q,*p;
   
    if (i<1||i>l.length )
        return -1;
    p=&l.elem[i-1];
    e=*p;
    printf("%d",e);
    printf("\n");
    q=l.elem+l.length-1;
    for (++p;p<=q;++p)
        *(p-1)=*p;
    --l.length ;
    for (int n=0;i<l.length;n++)
        printf("%d\t",l.elem[n]);
    printf("\n");
    return 1;
}


void main ()
{    int k=3,e=0;
     Sqlist l;
     Intlist(l);
     listinsert(l,k,e);
     listdelete(l,k,e);
}


我想要输出删除和插入后的数据,求指教!
搜索更多相关主题的帖子: include 线性表 
2013-10-21 22:54
LiuFuMinH
Rank: 2
等 级:论坛游民
帖 子:12
专家分:45
注 册:2013-10-27
收藏
得分:0 
你可以再编一个函数来实现这个输出这功能,比较简单



status putlist(sqlist L)                 //打印顺序表中的所有元素
{
    int i;int e;
for(i=1;i<L.length+1;i++)
{
printf("%d  ",e=L.elem[i-1];
);
}
return 0;
}
2013-11-02 13:54
快速回复:线性表插入,删除,求指教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022367 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved