| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 880 人关注过本帖
标题:关于线性顺序表,一些地方弄不清楚。新問題見4樓
只看楼主 加入收藏
longfei8812
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-11-4
收藏
 问题点数:0 回复次数:3 
关于线性顺序表,一些地方弄不清楚。新問題見4樓
题目:有顺序表La和Lb,要求写算法将属于la但不属于lb的元素组成新的顺序表(可以直接运行)
我的问题:为什么的lc总是接不到la数据;
我的程序思想是:先把新表lc的数据复制la的,在lc上与lb比较,删除元素。

#include <stdio.h>
#include <malloc.h>
#define ElemType int
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
typedef struct{
ElemType *elem;
int length;
int listsize;
} Sqlist;
int Init_sqlist(Sqlist *L,int n)
{
    L->elem=(ElemType *)malloc(n*sizeof(ElemType));
    if (!L->elem) return ERROR;
    L->length=0;
    L->listsize=n;
    return OK;
}
int sqlistcopy(Sqlist La,Sqlist *Lc)
{int i;
for(i=0;i<=La.length;i++)
*Lc->elem[i]=*La.elem[i];
return(OK);
}
int ListDelete_Sq(Sqlist *L,int i)
{  
    int *p,*q;
    if(i<1||i>L->length) return ERROR;
    p = &(L->elem[i-1]);     
       q=L->elem+L->length;
       for (++p; p <= q; ++p)  *(p-1) = *p;  
         --L->length;      
   return OK;
}
int zhengli(Sqlist *La,Sqlist Lb)
{
    int i,j;
        for(i=0;i<=Lb.length;i++)
{
    for(j=0;j<=La->length;j++)
    {
        if(Lb.elem[i]==La->elem[j])
           ListDelete_Sq(&La,j+1);
    }
}
return(OK);
}
void main()
{Sqlist La;
Sqlist Lb;
Sqlist Lc;
int i,m,n;
printf("请输入A线性表里元素个数:\n");
scanf("%d",&n);
Init_sqlist(&La,n);
printf("请输入元素:\n");
for(i=0;i<n;i++)
     {scanf("%d",&La.elem[i]);
 La.length++;}

printf("请输入B线性表里元素个数:\n");
scanf("%d",&m);
Init_sqlist(&Lb,m);
printf("请输入元素:\n");
for(i=0;i<m;i++)
     {    scanf("%d",&Lb.elem[i]);
 Lb.length++;}

Init_sqlist(&Lc,n);
sqlistcopy(La,&Lc);
zhengli(&Lc,Lb);
printf("转变之后A.B.C三个表的内容:\n");

for(i=0;i<La.length;i++)
printf("%d,",La.elem[i]);    
printf("\n");

for(i=0;i<Lb.length;i++)
printf("%d,",Lb.elem[i]);    
printf("\n");

for(i=0;i<Lc.length;i++)
printf("%d,",Lc.elem[i]);    
printf("\n");
}

[[it] 本帖最后由 longfei8812 于 2008-11-5 11:34 编辑 [/it]]
搜索更多相关主题的帖子: 线性 顺序 
2008-11-04 21:11
lovemimi
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2008-10-12
收藏
得分:0 
sqlistcopy函数,没有变化Lc的长度
2008-11-04 23:24
longfei8812
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-11-4
收藏
得分:0 
谢谢,我先试试
2008-11-05 09:55
longfei8812
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-11-4
收藏
得分:0 
還真是的,謝謝呀,不過zhengli函數中的 ListDelete_Sq(&La,j+1);需要把&去掉才正確。可是我的函數需要修改表la呀,修改函數不應該加&嗎
2008-11-05 11:33
快速回复:关于线性顺序表,一些地方弄不清楚。新問題見4樓
数据加载中...
 
   



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

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