| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3169 人关注过本帖, 1 人收藏
标题:入队列输入1234,出队列输出1234,C语言,帮忙。
只看楼主 加入收藏
qwerqqq
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2020-5-25
结帖率:0
收藏(1)
已结贴  问题点数:20 回复次数:9 
入队列输入1234,出队列输出1234,C语言,帮忙。
搜索更多相关主题的帖子: 输入 C语言 输出 队列 
2020-05-25 11:56
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:7 
链表还是数组

剑栈风樯各苦辛,别时冰雪到时春
2020-05-25 12:00
qwerqqq
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2020-5-25
收藏
得分:0 
回复 2楼 林月儿
链表
2020-05-25 12:02
静夜思
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:济南的冬天
等 级:管理员
威 望:11
帖 子:8917
专家分:2567
注 册:2004-3-25
收藏
得分:7 
以下是引用林月儿在2020-5-25 12:00:02的发言:

链表还是数组
楼主已经给出答案了,是链表,然后呢?

畅所欲言
2020-05-25 13:02
静夜思
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:济南的冬天
等 级:管理员
威 望:11
帖 子:8917
专家分:2567
注 册:2004-3-25
收藏
得分:0 

畅所欲言
2020-05-25 13:12
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
定义链表结构体,然后1进1出2进2出3进3出
typedef struct node{
int dara;
struct node*next;
}node;

剑栈风樯各苦辛,别时冰雪到时春
2020-05-25 14:40
静夜思
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:济南的冬天
等 级:管理员
威 望:11
帖 子:8917
专家分:2567
注 册:2004-3-25
收藏
得分:0 
以下是引用林月儿在2020-5-25 14:40:15的发言:

定义链表结构体,然后1进1出2进2出3进3出
typedef struct node{
int dara;
struct node*next;
}node;

至少给个能运行的样例吧,这样楼主能看得懂吗?能看得懂的回来问这样的问题吗?

畅所欲言
2020-05-25 14:50
静夜思
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:济南的冬天
等 级:管理员
威 望:11
帖 子:8917
专家分:2567
注 册:2004-3-25
收藏
得分:0 
我在15还是16年的时候,多次说过本论坛对版主和贵宾不设防,对版主和贵宾100%的信任,因为我相信,能到版主贵宾这个位置的,不会在论坛特别是技术区胡来。
从某种意义上说,这是一种特权,许诺这种特权的初衷是版主、贵宾不受任何约束,以便于自由发挥。但愿这种特权不要被极少数人玩烂了。

畅所欲言
2020-05-25 15:02
吕孟伟
Rank: 8Rank: 8
等 级:贵宾
威 望:27
帖 子:200
专家分:870
注 册:2018-10-4
收藏
得分:7 
程序代码:
#include<stdio.h>
#include<malloc.h>
#include<stdbool.h>
#include<stdlib.h>
#define length 100
typedef struct Queue{
    int* pBase;
    int front;
    int rear;
}QUEUE, *PQUEUE;
void init_queue(PQUEUE pQueue);
bool is_full(PQUEUE pQueue);
bool is_empty(PQUEUE pQueue);
bool enter_queue(PQUEUE pQueue, int value);
bool out_queue(PQUEUE pQueue, int* value);
void traverse_queue(PQUEUE pQueue);


int main(void)
{
    QUEUE myqueue;
    init_queue(&myqueue);
    enter_queue(&myqueue, 1);
    enter_queue(&myqueue, 2);
    enter_queue(&myqueue, 3);
    enter_queue(&myqueue, 4);
    traverse_queue(&myqueue);
    int value1, value2, value3, value4;
    out_queue(&myqueue, &value1);
    out_queue(&myqueue, &value2);
    out_queue(&myqueue, &value3);
    out_queue(&myqueue, &value4);
    printf("%d %d %d %d\n", value1, value2, value3, value4);
    return 0;
}

void init_queue(PQUEUE pQueue)
{
    pQueue->pBase = (int*)malloc(sizeof(int)* length );//数组
    pQueue->front = 0;
    pQueue->rear = 0;
}
bool is_full(PQUEUE pQueue)
{
    
    if((pQueue->rear+1) % length == pQueue->front){
        return true;
    }else{
        return false;
    }
}
bool is_empty(PQUEUE pQueue)
{
    if(pQueue->front == pQueue->rear){
        return true;
    }else{
        return false;
    }
}
bool enter_queue(PQUEUE pQueue, int value)
{
    
    if(is_full(pQueue)){
        return false;
    }else{
        pQueue->pBase[pQueue->rear] = value;
        pQueue->rear = (pQueue->rear+1) % length;
        return true;
    }
}
void traverse_queue(PQUEUE pQueue)
{
    
    int i = pQueue->front;
    while(pQueue->rear != i){
        printf("%d ", pQueue->pBase[i]);
        i = (i+1) % length;
    }
    printf("\n");
}
bool out_queue(PQUEUE pQueue, int* value)
{
    
    if(is_empty(pQueue)){
        return false;
    }else{
        *value = pQueue->pBase[pQueue->front];
        pQueue->front = (pQueue->front+1) % length;
    }
}

借用一下侯捷的话:勿在浮沙筑高台。
2020-05-25 15:57
qwerqqq
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2020-5-25
收藏
得分:0 
谢谢
2020-05-25 16:00
快速回复:入队列输入1234,出队列输出1234,C语言,帮忙。
数据加载中...
 
   



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

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