最新下载
热门教程
- 1
 - 2
 - 3
 - 4
 - 5
 - 6
 - 7
 - 8
 - 9
 - 10
 
用栈模拟商店进货系统
时间:2022-07-02 11:03:35 编辑:袖梨 来源:一聚教程网
#define stacksize 10
#include "stdio.h"
#include 
typedef struct
{int num[stacksize];
 int top;
}seqstack; /*栈定义*/
typedef struct node
{unsigned num;
 struct node *next;
}linkqnode;
typedef struct
{linkqnode *front,*rear;}linkqueue; /*链队列定义*/
void initstack(seqstack *s) /*初始化栈*/
{s->top=-1;}
int push(seqstack *s,int e)/*入栈*/
{if(s->top==stacksize-1){printf("Stack is full!n");return 0;}
 s->top++;
 s->num[s->top]=e;return 1;
}
int pop(seqstack *s,int *e)/*出栈*/
{if(s->top==-1)return 0;
 *e=s->num[s->top];
 s->top--;
 return 1;
}
void printstack(seqstack *s)/*输出栈中元素,栈底到栈顶*/
{int i;
 for(i=0;i<=s->top;i++)
 printf("%5d",s->num[i]);
 printf("n");
}
int initqueue(linkqueue *q)/*初始化队列*/
{
 q->front=(linkqnode*)malloc(sizeof(linkqnode));
 if(q->front!=NULL)
 {q->front->next=NULL;
 q->rear=q->front;return 1;
 }
 else return 0;
}
 int enterqueue(linkqueue *q,int e)/*入队*/
 {linkqnode *s;
  s=(linkqnode*)malloc(sizeof(linkqnode));
  if(s!=NULL)
  {s->num=e;q->rear->next=s;s->next=NULL;q->rear=s;return 1;}
  else return 0;
 }
 int delqueue(linkqueue *q,int *e)/*出队*/
 {linkqnode *p;
 if(q->front==q->rear)return 0;
 p=q->front->next;
 q->front->next=p->next;
 if(q->rear==p)q->rear=q->front;
 *e=p->num;
 free(p);return 1;
 }
 main()/*主函数*/
 {seqstack s;
  linkqueue q;
  int goodsnum;
  
  initstack(&s);
  initqueue(&q);
  printf("输入进货商品号,-1结束:");
  scanf("%d",&goodsnum);
  while(goodsnum!=-1)
  {push(&s,goodsnum);scanf("%d",&goodsnum);}
  printf("n原货架:n");
  printstack(&s);
  while(s.top!=-1)
   if(pop(&s,&goodsnum))enterqueue(&q,goodsnum);
  while((q.front)->next!=NULL)
  {delqueue(&q,
相关文章
- 过山车之星2游乐园声誉提升方法分享 11-04
 - 过山车之星2独特景点作用介绍说明 11-04
 - 炉石传说标准模式轮盘术卡组推荐分享 11-04
 - 炉石传说标准小行星萨卡组推荐分享 11-04
 - 炉石传说基尔加丹轮盘术卡组推荐分享 11-04
 - 炉石传说宇宙彩虹DK高胜率卡组推荐分享 11-04
 
热门栏目
- 
                
php教程
php入门 php安全 php安装 php常用代码 php高级应用 - 
                
asp.net教程
基础入门 .Net开发 C语言 VB.Net语言 WebService - 
                
手机开发
安卓教程 ios7教程 Windows Phone Windows Mobile 手机常见问题 - 
                
css教程
CSS入门 常用代码 经典案例 样式布局 高级应用 - 
                
网页制作
设计基础 Dreamweaver Frontpage js教程 XNL/XSLT - 
                
办公数码
word excel powerpoint 金山WPS 电脑新手 - 
                
jsp教程
Application与Applet J2EE/EJB/服务器 J2ME开发 Java基础 Java技巧及代码