鱼C论坛

 找回密码
 立即注册
查看: 3380|回复: 2

求助:数据结构中队列的错误

[复制链接]
发表于 2021-10-23 17:17:38 From FishC Mobile | 显示全部楼层 |阅读模式
10鱼币
#include <stdio.h>
#define MaxSize 100
typedef int ElemType;

typedef struct
{
        ElemType data[MaxSize];
        int length;


}SeqList;
int  ListInit(SeqList*L)
{
        L->length = 0;

        return L->length;
}

int ListInesrt(SeqList* L, int i, ElemType x)
{
        int j;
        if (L->length == MaxSize)
        {
               
                printf("程序已满无法插入!\n");
                return 0;
        }
        else if (i<1 || i>L -> length + 1)
        {
                printf("插入位序不合法\n");
                return 0;

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

int ListDelete(SeqList* L, int i ,ElemType* x)
{
        int j;
        if (L->length == 0)
        {
                printf("顺序表已无数据可删!\n");
                return 0;
        }
        else if (i<1 || i>L ->length)
        {
                printf("删除位序不合法");
                return 0;

        }
        else
        {
                i--;
                x = L->data[i-1];
                for (j = i; j <= L->length; j++)
                        L->length--;
                return 1;

        }
}
int ListGet(SeqList*
        L, int i, ElemType* x)
{
        if (i<1 || i>L->length)
        {
                printf("获取位置不合法!\n");
                return 0;
        }
        else
        {
                x = L->data[i];
                return 1;
        }
}

void mian()
{
        SeqList mylist;
        int i, x;
        ListInit(&mylist);
        for (i = 1; i <= 10; i++)
                ListInsert(&mylist, i, i);
        ListDelete(&mylist, 4, &x);
        for (i = 1; i<=length ; i++)
        {
                ListGet  (i,&x);
                printf("%d", x);
        }
}
其中有几处错误找不到,希望大神能帮注意一下

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

使用道具 举报

发表于 2021-10-24 18:28:40 | 显示全部楼层
#include <stdio.h>

#define MaxSize 100

typedef int ElemType;

typedef struct
{
        ElemType data[MaxSize];
        int length;
}SeqList;

int ListInit(SeqList *L)
{
        L->length = 0;

        return L->length;
}

int ListInesrt(SeqList *L, int i, ElemType x)
{
        int j;
        if (L->length == MaxSize)
        {
               
            printf("程序已满无法插入!\n");
            return 0;
        }
        else if (i < 1 || i > L->length + 1)
        {
            printf("插入位序不合法\n");
            return 0;
        }
        else
        {
            L->data[i-1] = x;
            L->length++;
            return 1;
        }
}

int ListDelete(SeqList* L, int i ,ElemType* x)
{
        int j;
        if (L->length == 0)
        {
                printf("顺序表已无数据可删!\n");
                return 0;
        }
        else if ( i<1 || i > L->length)
        {
                printf("删除位序不合法");
                return 0;
        }
        else
        {
                *x = L->data[i-1];
                L->length = i - 1; 
                return 1;
        }
}
int ListGet(SeqList *L, int i, ElemType* x)
{
        if (i < 1 || i > L->length)
        {
                printf("获取位置不合法!\n");
                return 0;
        }
        else
        {
                *x = L->data[i-1];
                return 1;
        }
}

void main() //main 
{
        SeqList mylist;
        
        int i, x;
        
        ListInit(&mylist);
        
        for (i = 1; i <= 10; i++)
            ListInesrt(&mylist, i, i);
            
        ListDelete(&mylist, 4, &x);
        
        for (i = 1; i <= mylist.length ; i++)
        {
            ListGet(&mylist, i, &x);
            printf("%d ", x);
        }
}
你这个delete和insert的具体需求是什么呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-10-24 21:50:32 From FishC Mobile | 显示全部楼层
1248762042 发表于 2021-10-24 18:28
你这个delete和insert的具体需求是什么呢

建立一个线性表 依次输入1.2.3.4.5.6.7.8.9删除数据元素5
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 07:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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