标题:《整型顺序表递增有序,插入X后保持有序性》调试
只看楼主
huhao3225
Rank: 2
来 自:四川成都
等 级:论坛游民
帖 子:39
专家分:25
注 册:2011-11-9
结帖率:100%
已结贴  问题点数:20 回复次数:2 
《整型顺序表递增有序,插入X后保持有序性》调试
1年没写C语言了,这次要学软件技术,有个问题就是《整型顺序表递增有序,插入X后保持有序性》,要求设计一算法,我写了一个程序,C语言的,算法不知道有没有问题,就是调试的时候调试不出来,如图,不能给线性表赋值,程序已经给出,太久没搞了,实在想不出来,麻烦给位美女帅哥,帮忙看一下。
程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAXSIZE 100                //数组容量 
typedef  struct
{
    int data[MAXSIZE+1];        //数组域
    int  len;                    //线性表长域
 } SeqList;                        //结构体类型名
int Insert_SeqList(SeqList L,int x)

 {
    int i=0,j;
    if (L.len==MAXSIZE-1)
        return(0);
    while(i<=L.len&&L.data[i]<x)
        i++;
    for(j=L.len;j>=i;j--)
        L.data[j+1]=L.data[j];
    L.data[i]=x;
    L.len++;
    return(0);
}
main()
{
    int i,x;
    SeqList *L;
    L=(SeqList*)malloc(sizeof(SeqList));
    if(L==NULL)
        exit(0);
    L->len=0;
    printf("Please input:\n");
    for(i=1;i<=L->len;i++)
        scanf("%d",&L->data[i]);
    printf("输入插入值:\n");
    scanf("%d",&x);
    Insert_SeqList(*L,x);
    for(i=1;i<=L->len;i++)
        printf("%d ,",L->data[i]);
}
搜索更多相关主题的帖子: C语言 学软件 线性表 美女 
2013-03-24 16:45
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6809
专家分:42393
注 册:2010-12-16
得分:10 
L->len=0;
     printf("Please input:\n");
     for(i=1;i<=L->len;i++) 这个时候,L->len 为0 ,这个循环是无法进行的
         scanf("%d",&L->data[i])



int Insert_SeqList(SeqList L,int x) 这个函数要改成传地址,不要传值

我行我乐
我的博客:
http://blog.yuccn. net
2013-03-24 18:42
不玩虚的
Rank: 9Rank: 9Rank: 9
来 自:四川
等 级:贵宾
威 望:10
帖 子:331
专家分:1301
注 册:2012-12-9
得分:10 
算法有问题。1。你表的长度没有初始化。2.假设空表的时候你要要不要插入元素啊,要插得话就等于建表吧,这也不难的。3.假设表不空。表中有和你相同的元素,那你还要不要插啊。,这步只是找位置,应该不难。

同学习......同进步....你帮我......我帮你.....上善若水.....
2013-03-24 22:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-401779-1-1.html




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

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