栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

icoding测试代码--循环链表表示队列

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

icoding测试代码--循环链表表示队列

本程序适用于:

 

icoding的数据结构并没有一个测试代码,其都是直接编写一个函数的形式,因此很难知道自己的实际输出是什么。针对部分题目,我编写了一系列测试代码以供大家进行数据输出的测试。

bool init_queue(LinkQueue *LQ)
{
    //TODO
}

bool enter_queue(LinkQueue *LQ, ElemType x)
{
    //TODO
}

bool leave_queue(LinkQueue *LQ, ElemType *x)
{
    //TODO
}
请将您的函数代码复制到上述函数中,然后修改main函数的相关内容,完成测试样例的输入

题目原文:                                                

假设以带头结点的循环链表表示队列,并且只设一个指针指向队尾元素结点(注意不设头指针),请完成下列任务:

 

1: 队列初始化,成功返回真,否则返回假: bool init_queue(LinkQueue *LQ);

2: 入队列,成功返回真,否则返回假: bool enter_queue(LinkQueue *LQ, ElemType x);

3: 出队列,成功返回真,且*x为出队的值,否则返回假 bool leave_queue(LinkQueue *LQ, ElemType *x);

相关定义如下:

typedef struct _QueueNode {
    ElemType data;          // 数据域
    struct _QueueNode *next;      // 指针域
}LinkQueueNode, *LinkQueue;

 

#include
#include
#include
#include

typedef int ElemType  ;
typedef struct _QueueNode {
    ElemType data;          // 数据域
    struct _QueueNode *next;      // 指针域
}LinkQueueNode, *LinkQueue;

//打印循环队列
void print_queue(LinkQueue Q) {
    LinkQueueNode *p = Q->next->next;
    if(p==NULL){
        printf("空队列n");
        return;
    }
    printf("<<[出队|Front]<< ");
    
    if(Q == Q->next) {
            printf("···队中无元素···");
    }
        
    
    while (p!= Q->next) {//Q->next是头结点
        
        if(p->next==Q->next) printf("%d", p->data);
        else printf("%d <- ", p->data);
        p = p->next;
    }
    printf(" <<[Rear|入队]<>>>>初始化队列n");
    LinkQueue LQ;
    bool init_bool=init_queue(&LQ);
    if(init_bool==false)
    {
        printf("初始化队列失败!返回falsen程序自动终止,请修改源代码n");
        return 0;
    }else{
        printf("<<初始化队列成功!%sn",(print_init==true)?"n···打印初始队列···":"");
        if(print_init==true)
        {
            print_queue(LQ);
        }
    }

    if(test_enter){
    printf("n----------n>>测试入队,共需要入队%d个元素n",len);
    bool enter_bool=true;
    for(int i=0;i>测试出队n");
    ElemType s=-12345678;
    if(leave_times>len)
    {
        printf("*提示* 您设置出队次数(%d)超过队列元素个数(%d),出队次数更改为队列元素个数(%d)n",leave_times,len,len);
        leave_times=len;
    }
    else if(leave_times==0){
        printf("*提示* 您设置为逐个全部出队,应该出队%d次n",len);
        leave_times=len;
    }
    else{
        printf("*提示* 您设置出队次数为%dn",leave_times);
    }
    printf("···打印出队信息···n");
    bool leave_bool=true;
    for(int i=0;i 

如果不对内置的测试函数修改,那么正确的输出将是

icoding测试代码--如何使用篇_谨慎谦虚的博客-CSDN博客感谢大家支持我的这一系列博客,下面教大家如何使用我们以这篇文章为例子作介绍,现在发车啦!——————————————————————————————————————如何查找对应题目的代码?1.看文章标题标题一般写了这个代码可以对应哪些icoding题目,我们和icoding的标题一摸一样因此看标题是最简单直接的方法。部分题目多题公用一个测试代码,所以一定要看清楚了2.看文章开头对于链表部分文章开头特别写明了适用于哪些题目3.看对应函数基本上所有的文章都有如下内容.https://blog.csdn.net/jjq15008419406/article/details/125011238?spm=1001.2014.3001.5501 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/980104.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号