问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

数据结构C语言习题求解……由计算机随即生产20个100以内的随机整数。(链式队列的应用)

发布网友 发布时间:2022-05-06 02:06

我来回答

2个回答

热心网友 时间:2023-10-10 16:13

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
struct val
{
int data;
struct val *node;
};
typedef struct val li;
typedef li *lin;
lin linQ[3];
void InitQueue(); //初始化
lin EnQueue(lin lina,int data); //进队列
int EmptyQueue(lin lina); //是否为空
int QueueLength(lin lina); //队列长度
void DeQueue(lin lina,int len,int i); //出队列void main()
{
int len;
int data;
int Queue;
InitQueue();
for(len=0;len<20;len++)
{
data=rand()%100;
Queue=data%3;
if(Queue<3)
linQ[Queue]=EnQueue(linQ[Queue],data);
} for(len=0;len<3;len++)
{
data=QueueLength(linQ[len]);
if(EmptyQueue(linQ[len]))
DeQueue(linQ[len],data,len);
else
printf("NULL");
}
getch();
}
void InitQueue()
{ int len;
for(len=0;len<3;len++)
linQ[len]=NULL;
srand((unsigned int)time(NULL));
}lin EnQueue(lin lina,int data)
{
lin merory;
lin linb;
merory=(lin)malloc(sizeof(li));
merory->data=data;
merory->node=NULL;
if(!merory)
{
return NULL; } if(!lina)
{
return merory;
}
linb=lina; while(linb->node!=NULL)
linb=linb->node; linb->node=merory;
return lina;
}
int EmptyQueue(lin lina)
{
if(lina)
return 1;
return 0;
}
int QueueLength(lin lina)
{
int len=0;
lin linb;
linb=lina;
while(linb!=NULL)
{
len++;
linb=linb->node;
}
return len;
}
void DeQueue(lin lina,int len,int i)
{
lin linb;
linb=lina;
printf("A total of %d can be divided exactly by 3 more than %d random Numbers:\n\n",len,i);
while(linb!=NULL)
{
printf("%d ",linb->data);
linb=linb->node;
}
printf("\n\n");
}

热心网友 时间:2023-10-10 16:13

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define elemt int
typedef struct qnode{
elemt data;
struct qnode *next;
}node,*nd;
typedef struct{
nd front;
nd rear;
}lq;
lq InitQueue (void){
lq t;
t.front=t.rear=(nd )malloc(sizeof(node));
if(!t.front)
exit(0);
t.front->next=NULL;
return t;
}
lq EnQueue (lq t,elemt e){
nd p=(nd)malloc(sizeof(node));
if(!p) exit(0);
p->data =e;
p->next=NULL;
t.rear->next=p;
t.rear=p;
return t;
}
lq DeQueue (lq t){
elemt e;
nd p;
if(t.front==t.rear) exit(0);
p=t.front->next;
e=p->data;
t.front->next=p->next;
free(p);
return t;
}
int QueueLength(lq t){
int n=0;
nd p;
p=t.front;
for(;p->next!=NULL;n++){
p=p->next;
}
return n;
}void print(lq t){
nd p;
p=t.front->next;
while(p!=NULL){
printf("%d ",p->data);
p=p->next;
}
printf("\n个数为%d\n",QueueLength(t));
}
void main(){
int i=0,j;
lq Q0,Q2,Q1;
Q0=InitQueue();
Q1=InitQueue();
Q2=InitQueue();
srand((unsigned int)time(NULL));
for(;i<20;i++){
j=rand()%100;
switch(j%3){
case 0:Q0=EnQueue(Q0,j);break;
case 1:Q1=EnQueue(Q1,j);break;
case 2:Q2=EnQueue(Q2,j);break;
}
}
print(Q0);
print(Q1);
print(Q2); }
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临汾市小学数学是什么版本 山西晋城三年级英语属于什么版本 临汾市小学学英语么 临汾市小学英语教材什么版本 风景园林设计是本科还是专科专业 风景园林设计专业要学习什么内容呢 风景园林制图习题集图书信息 本人要在房山区夏村农贸市场开个渔具店,不知道起个什么名字好了,请高... kk键盘如何开启一键发图 启用KK键盘连发功能 kk键盘为什么总是重新设置 kk键盘安装后设置方法 C语言如何建立链队列 请教下我写的哪里出错了。 链式存储队列的数据结构(逻辑结构+存储结构)分析、链式存储队列的基本C语言结构体分析与定义 C语言 链队列 凯立德导航最新版本是哪个版本? 汽车导航凯立德最新的版本是哪个 求关于石兰的网名。 要好听滴!!! 空谷幽兰 相对应的情侣网名是什么 网名 幽兰 百合,不知道好听吗? 幽兰微信名字怎样 空谷幽兰和静若幽兰那个网名好听 帮忙取个带“幽”或者“蓝”、“兰”的网名 谁能帮我取个把幽兰和雪和在一起的网名 xx幽兰的网名 静若幽兰和恬静淡雅那个网名好听,寓意好?谢谢 心静若水,静若幽兰哪个网名好? 电话号码怎么导入新手机阿? 网名空谷幽兰浮生若梦哪个好女士用? 含幽兰最霸气的网名 幽兰修竹的网名好听吗? 老板把别人的工资发了没给我发是不是不给我发? 求C语言实现链队列的建立和出入队列 C语言 链队列 队尾插入元素 的问题 关于c语言和数据结构的,将一个链式队列中的元素依次取出,并打印元素的值。代码如下 C语言,链式队列的基本操作(初始化):请问哪里出问题了? C语言,链队列问题求解队列节点间靠什么联系在一起的?下面有代码请网友指点 C语言链队列的入队与出队,求高手帮我看下!我要如何该? 不会做啊,求高手帮忙,用c语言建立链队列,显示每个结点,并进行插入,删除处理 C语言 用单链表实现队列 用C语言编写一算法将一链队列的元素依次取出,并打印这些元素值 我有一个链队列程序,C语言的。不知道,怎么回事,无法初始化。请高手指教。。。 《绝地求生》大逃杀进不去游戏,卡在创建角色页面,怎么办? steam上的《绝地求生大逃杀》进界面卡住了怎么办? 《绝地求生大逃杀》卡在登入界面是怎么回事? 绝地求生大逃杀一直卡在这界面什么情况 绝地求生大逃杀卡在loading界面怎么办?绝地求生大逃杀为什么进不去 为什么《绝地求生大逃杀》进入游戏对局之后一直卡在读条界面? 为什么绝地求生大逃杀进不去游戏卡在创建角色页面了 为什么《绝地求生》大逃杀一直卡在loading页面? 给你的朋友李华的一封信 英语作文 急...... 英语作文,你的朋友李华因上课看杂志被老师责罚,心情不好,向你写信