编写程序选用顺序存储结构和链式存储结构实现抽象数据类型栈和队列,再利用栈和队列,输入若干个整数,将输入后的正整数和负整数分别保存起来,输入完成后,首先将以输入相反的次序输出所有保存的正整数,再以输入相同次序输出所有保存的负整数,。

输入格式:
若干非0整数。

输出格式:
正整数和负整数输出各占一行,每个数占5位。

输入样例: 100 2 3 -2 -8 -6 -9 -10 50 2 -1
输出样例: 2 50 3 2 100
-2 -8 -6 -9 -10 -1
作者 李卫明
单位 杭州电子科技大学
代码长度限制 16 KB
时间限制 400 ms
内存限制 64 MB

#include<stdio.h>
#include<malloc.h>
#include<string.h>//定义栈
typedef struct{int data[100];int top;int bottom;
}stack;//创建栈
stack *InitStack(){stack *p=(stack*)malloc(sizeof(stack));//分配新空间 if(p==NULL)//分配失败 return 0;p->bottom=p->top=0;//分配成功 return p;
}//入栈
void StackInput(stack *p,char str){p->data[p->top]=str;//存入栈中 p->top++;//栈顶指针加1
} //出栈
char StackOutput(stack *p,char str){if(p->top!=p->bottom){//栈非空 str=p->data[p->top-1];//栈顶内容输出 p->top--;//栈顶减1 return str;}
} //输出
void StackPrint(stack *p){while(p->top!=p->bottom){printf("%5d",p->data[p->top-1]);p->top--;}
}//定义节点
typedef struct node{char data;struct node * next;
}node;//定义队列(保存队首和队尾指针)
typedef struct queue_link{node * front;node * rear;
}que;//初始化队列
que * InitQueue()
{que * q = (que*)malloc(sizeof(que));q->front = q->rear = NULL;return q;
}//判断队列是否为空
int EmptyQueue(que * q)
{return q->front == NULL;
}//入队
void InsertQueue(que *q, int data)
{node * n = (node *)malloc(sizeof(node));if(n == NULL)//内存分配失败return ;n->data = data;n->next = NULL;//尾插法,插入元素指向空if(q->rear == NULL){q->front = n;q->rear = n;}else{q->rear->next = n;//让n成为当前的尾部节点下一节点q->rear= n;//尾部指针指向n}}//出队(删除队首元素)
void DeleteQueue(que *q)
{node * n = q->front;if(q->front == NULL)//判断队列是否为空return ;if(q->front == q->rear)//是否只有一个元素{q->front = NULL;q->rear = NULL;}else{q->front = q->front->next;free(n);}}//打印队列
void QuePrint(que *q)
{node * n = (node *)malloc(sizeof(node));n = q->front;if(n == NULL){return ;//队列为空}while(n != NULL){printf("%5d",n->data);n = n->next;}
}int main(){stack *s1;s1 = InitStack();int i;que * q;q = InitQueue();while (scanf("%d", &i) != EOF){if(i<0)InsertQueue(q,i);else StackInput(s1,i);}if(s1!=NULL)StackPrint(s1);printf("\n"); QuePrint(q);printf("\n");}

PTA程序设计综合实践1.10相关推荐

  1. 程序设计综合实践 2.1

    给定一个含n个整数顺序存储的线性表,按分治法思路,采用二分策略,设计一个求出其最大值和最小值算法,编写相应测试程序.要求使用分治法设计出其中求最大值.最小值组合的递归算法. 输入格式: 若干整数,个数 ...

  2. 程序设计综合实践——京东管理系统(C语言实现)

    废话不多说直接上代码! #include<stdio.h> #include<string.h> #include<stdlib.h> #include<ti ...

  3. 程序设计综合实践题库答案

    第一章: 1 [多选题] (2分) 抽象数据类型ADTList的基本操作有( ). A.两个线性表合并Merge() B.销毁线性表Destroy (L) C.创建空表Create () D.迭代下一 ...

  4. python程序设计报告-20192416 实验四《Python程序设计》综合实践报告

    20192416 实验四 <Python程序设计> 综合实践报告 课程:<Python程序设计> 班级:1924 姓名:不愿透露姓名的はんたくさん 学号:20192416 实验 ...

  5. python实验过程心得体会_20192416 实验四《Python程序设计》综合实践报告

    20192416 实验四 <Python程序设计> 综合实践报告 课程:<Python程序设计> 班级:1924 姓名:不愿透露姓名的はんたくさん 学号:20192416 实验 ...

  6. 《Python程序设计》实验四 Python综合实践实验报告

    <Python程序设计>实验四 Python综合实践实验报告 1.实验内容 Python综合应用:爬虫.数据处理.可视化.机器学习.神经网络.游戏.网络安全等. 在华为ECS服务器(Ope ...

  7. python综合程序设计-实验四 Python综合实践

    课程:<Python程序设计> 班级:1843 姓名:章森洋 学号:20184307 实验教师:王志强 实验日期:2020年5月16日 必修/选修: 公选课 1.实验内容 此处填写实验的具 ...

  8. python课题报告_2019-2020-1 《python程序设计》20192428魏来 综合实践报告

    学号 20192428<Python程序设计>综合实践报告 课程:<Python程序设计> 班级: 1924 姓名: 魏来 学号:20192428 实验教师:王志强 实验日期: ...

  9. 综合实践活动教案计算机做实验,综合实践活动教学反思(精选10篇)

    综合实践活动教学反思(精选10篇) 作为一名优秀的教师,我们要有一流的课堂教学能力,对学到的教学技巧,我们可以记录在教学反思中,教学反思我们应该怎么写呢?以下是小编精心整理的综合实践活动教学反思(精选 ...

  10. python实训总结报告书_20172304 实验四python综合实践报告

    20172304 实验四python综合实践报告 姓名:段志轩 学号:20172304 指导教师:王志强 课程:Python程序设计 实验时间:2020年5月13日至2020年6月14日 实验分析 本 ...

最新文章

  1. 字符串面试题(一)字符串逆序
  2. ubuntu 安装OpenBLAS
  3. Html 教程 (5) 表格标签
  4. java word 在线编辑图片_java开发实现word在线编辑及流转
  5. 像小猪佩奇那样生活,需要多少钱?
  6. 用python做简单的地理聚类分析案例_用Python做一个简单的翻译工具
  7. 新版知识付费系统付费阅读小程序源码知识付费平台
  8. 无心剑中译叶芝诗17首
  9. 4.Scala-数据结构
  10. Linux的文件系统与文件
  11. android ppt 自动播放视频,ppt如何循环播放,ppt如何添加视频设置自动播放(ppt转换成视频)...
  12. Flutter 旋转动画
  13. SpringMvc生成Excel和PDF
  14. python中response对象的方法_django HttpResponse对象 - 刘江的django教程
  15. java程序员常用的快捷键
  16. 在Android上修改读取IMEI码的方法
  17. 一个感人的爱情故事(中英对照)
  18. b2b2c o2o 多商家入驻商城 直播带货商城 电子商务
  19. 某版本瑞数解决方案-爬虫
  20. java获取Ip工具类

热门文章

  1. linux下隐藏tomcat版本号
  2. 用protobuf进行C#与Java通信
  3. 一种基于复制粘贴的cam350邮票孔拼版教程(一)
  4. JSON 数据类型转换工具
  5. u盘ios刻录_win10 iso刻录到u盘操作教程
  6. 【转载】读透《哥德尔、艾舍尔、巴赫:集异璧之大成》
  7. 记录repast4py环境配置
  8. 手机摄像头的组成结构和工作原理
  9. 红米10X 5G手机电路原理图纸
  10. headfirstjava_1.BreakingTheSurface