网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C/C++
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.一般线性链表类的C++实现.
.XML Web Service 数据交换.
.C语言库函数(H类字母).
.c/c++中结构体(struct)知识点强化.
.C/C++编程新手错误分析(1).
.C++运算符重载转换运算符.
.穷举算法解题的一般思路.
.Visual FoxPro 9.0 的报表设计器.
.Turbo C 2.0 使用指南.
.三层数据库与应用程序服务器的澄.
.董乘宇--迷宫程序1.10版.
.新手入门:C++中堆内存(heap)的概.
.TC 中的汉字技术.
.CRichEditCtrl实现MSN/QQ动画表情.
.实例解析C++/CLI之代理与事件.
.在RichEdit中实现超链接.
.初始化C++类成员和在你的MFC应用.
.C++箴言:为类型信息使用特征类.
.如何使用OnIdle事件.
.C语言嵌入式系统编程修炼之键盘操.

用栈模拟商店进货系统

发表日期:2008-3-8


#define stacksize 10
#include "stdio.h"
#include <malloc.h>
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,&goodsnum);
   push(&s,goodsnum);
  }
  printf("\n倒置后货架:\n");
  printstack(&s);
  }
上一篇:用户界面设计风格说明下 人气:489
下一篇:用一维数组存储上三角螺旋矩阵 人气:640
浏览全部C/C++的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐