| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 953 人关注过本帖
标题:快来帮我看看这个线性表啊,花了近2个小时就是出不来我想要的结果(求详解) ...
取消只看楼主 加入收藏
liuguanglei
Rank: 2
等 级:论坛游民
帖 子:41
专家分:26
注 册:2012-8-15
结帖率:80%
收藏
已结贴  问题点数:20 回复次数:5 
快来帮我看看这个线性表啊,花了近2个小时就是出不来我想要的结果(求详解)
#include<stdio.h>
#include<stdlib.h>
#define LIST_INIT_SIZE 100
#define listincrement 10
typedef int Elemtype;
typedef struct
{
    Elemtype  *elem;
    int length;
    int listsize;
}Sqlist;
//进行空表的创建
 InitList(Sqlist L)
{
       L.elem=(Elemtype * )malloc(LIST_INIT_SIZE * sizeof(Elemtype));
     if(!L.elem)
     return 0;
     L.length=0;
     L.listsize=LIST_INIT_SIZE;
     return 1;
}
 //在表中插入元素x
 ListInsert(Sqlist L,int i,Elemtype x)
{
     int j;
    if(i<0||i>L.length)
        return 0;
    for(j=L.length-1;j<=i+1;j--)
        L.elem[j+1]=L.elem[j];
        L.elem[i+1]=x;
        L.length++;
        return 1;
}
 //删除表中第I个位置上的元素
 ListDelete(Sqlist L,int i)
{
    int j;
    for(j=i+1;j<L.length-1;j++)
        L.elem[j-1]=L.elem[j];
    L.length--;
    return 1;
}
int main()
{
    Sqlist L;
    int k;
    int j;
    int i;
    InitList(L);
    printf("please input 9 numbers:");
    for(i=0;i<9;i++)
    scanf("%d",&L.elem[i]);
    for(i=0;j<L.length;i++)
    printf("%4d",L.elem[i]);
    printf("请输入要删除的元素的位置k:");
    scanf("%d",&k);
    ListDelete(L,k);
    printf("删除后的序列:\n");
    for(i=0;j<L.length;i++)
    printf("%4d",L.elem[i]);
    printf("\n");
}
搜索更多相关主题的帖子: 元素 return include 线性表 
2012-11-01 16:55
liuguanglei
Rank: 2
等 级:论坛游民
帖 子:41
专家分:26
注 册:2012-8-15
收藏
得分:0 
回复 5楼 凌云飞翔
运行还是不出结构啊,但是不报错,郁闷啊
2012-11-01 22:18
liuguanglei
Rank: 2
等 级:论坛游民
帖 子:41
专家分:26
注 册:2012-8-15
收藏
得分:0 
回复 7楼 爱闹的娃
在函数的传值过程中这个形参可以不用指针啊,可以实参和形参直接进行值与值的传递
2012-11-01 22:42
liuguanglei
Rank: 2
等 级:论坛游民
帖 子:41
专家分:26
注 册:2012-8-15
收藏
得分:0 
回复 7楼 爱闹的娃
用VC6.0DOS窗口老蹦亏,就是顺序表的操作为什么就这么难啊
2012-11-01 22:46
liuguanglei
Rank: 2
等 级:论坛游民
帖 子:41
专家分:26
注 册:2012-8-15
收藏
得分:0 
回复 11楼 凌云飞翔
不会吧啊我用VC6.0
2012-11-01 23:37
liuguanglei
Rank: 2
等 级:论坛游民
帖 子:41
专家分:26
注 册:2012-8-15
收藏
得分:0 
#include<stdio.h>
#include<stdlib.h>
#define LIST_INIT_SIZE 100
#define listincrement 10
typedef int Elemtype;
typedef struct
{
    Elemtype  *elem;
    int length;
    int listsize;
}Sqlist;
//进行空表的创建
int InitList(Sqlist L)
{
     int i;
        L.elem=(Elemtype * )malloc(LIST_INIT_SIZE * sizeof(Elemtype));
     if(!L.elem)
     return 0;
     else
     printf("请输入顺序表中的元素:");
     for(i=0;i<9;i++)
     scanf("%d",&L.elem[i]);
     L.length=0;
     L.listsize=LIST_INIT_SIZE;
     return 1;
}
 //在表中插入元素x
int ListInsert(Sqlist L,int i,Elemtype x)
{
     int j;
    if(i<0||i>L.length)
        return 0;
    for(j=L.length-1;j<=i+1;j--)
        L.elem[j+1]=L.elem[j];
        L.elem[i+1]=x;
        L.length++;
        return 1;
}
 //删除表中第I个位置上的元素
int ListDelete(Sqlist L,int i)
{  
    int j;
    for(j=i+1;j<L.length-1;j++)
        L.elem[j-1]=L.elem[j];
    L.length--;
    return 1;
}
int main()
{
    Sqlist L;
    int k;
    int j;
    int i;
    InitList(L);
    //printf("please input 9 numbers:");
//    for(i=0;i<9;i++)
//    scanf("%d",&A.elem[i]);
//    A.length=9;
    printf("请输入要插入元素的位置:");
        scanf("%d",k);
    ListInsert(L,k,1);
    for(i=0;j<L.length;i++)
    printf("%4d",L.elem[i]);
    printf("请输入要删除的元素的位置k:");
    scanf("%d",&k);
    ListDelete(L,k);
    printf("删除后的序列:\n");
    for(i=0;j<L.length;i++)
    printf("%4d",L.elem[i]);
    printf("\n");
}
2012-11-02 23:40
快速回复:快来帮我看看这个线性表啊,花了近2个小时就是出不来我想要的结果(求 ...
数据加载中...
 
   



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

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