91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-06-16
  • 語言: C/C++
  • 標(biāo)簽: 棧的操作??

資源簡介

本程序通過出棧入棧的操作實現(xiàn)了商品貨架的管理。自己建立數(shù)據(jù)文件的方式對供貨信息進(jìn)行如下管理:①查詢②修改③排序。商店貨架以棧的形式擺放商品,生產(chǎn)日期越近的越靠近棧底,出棧是從棧頂取貨,一天營業(yè)結(jié)束,如果貨架不滿,則需上貨,如果直接將商品擺放到貨架上,則會使生產(chǎn)日期越近的越靠近棧頂.這就需要倒貨架,仍使生產(chǎn)日期越近的越靠近棧底。寫出貨物進(jìn)棧、出棧算法

資源截圖

代碼片段和文件信息

#include?
#include?
#define??stack_init_size?100
#define??stncrement?100
#define??selemtype?int

typedef?struct?
{
selemtype??*top;
//該指針始終指向棧頂//
selemtype?*base;
//該指針始終指向棧底//
int??stacdsize;
????//?棧當(dāng)前的長度//
int?length;//元素個數(shù)
}node;

//棧的初始化
int?initstack(node?&s)
//?s需要用引用?//????????????
{
s.top=s.base=(selemtype*)malloc(stack_init_size*sizeof(selemtype));
//申請一塊大小為stack_init_size的空間,同時把該空間的地址賦值給s.top和s.base//
s.stacdsize=stack_init_size;
//棧當(dāng)前的長度大小為stack_init_size//
s.length=0;
????return?0;
}

//元素入棧?
int?push(node?&sselemtype?e)?????????????
{
if(s.top-s.base>=s.stacdsize)
//判斷棧是否已滿//
{
s.base=(selemtype*)realloc(s.base(s.stacdsize?+?stncrement)*sizeof(selemtype));
//如果棧已滿,申請一塊動態(tài)空間(相當(dāng)于在原有的空間上增加一塊大小為stncrement的空間,同時把新申請的空間的地址賦值給s.base)//
s.top=s.base+s.stacdsize?;
//s.top始終指向要入棧的元素的位置//
s.stacdsize+=stncrement;
????????//棧的當(dāng)前長度同時增加//
}
*s.top++=e;
//首先把e的值賦給s.top,然后把s.top指向即將要來到的元素的位置//
s.length++;
return?0;
}

//出棧
int?pop(node?&sselemtype?&e)????
{
????if(s.top==s.base)
//判斷棧是否為空//
return?1;
e=*--s.top;
//首先使s.top向下移動一位,然后把s.top指向的值賦給e//
????s.length--;
return?0;
}

//
void?ADD(node?&sselemtype?&e)//倒貨函數(shù)
{
int?o[10];
int?m=0;
if(s.top==s.base)
{
push(se);
}
else??
{
for(int?i=0;i {
if?(e>=*(s.top-1))
{
pop(so[i]);
????????????????

m++;
//s.length++;
}
}
//s.length=s.length-m;
push(se);
????????
for(m;m>0;m--)
{
push(so[m-1]);
}

}



}
void?print(node?&s)//棧的輸出函數(shù)
{
for(int?i=0;i {
printf(“%d?“*s.base);
s.base++;
}
s.base=s.base-s.length;
}

//主函數(shù)
void?main()?????
{
int?e;
printf(“模塊一:商品入棧\n“);//模塊一
printf(“請輸入需要上架的商品種類數(shù)(<10):\n“);
scanf(“%d“&e);
????node?s[10];//10個棧
for(int?x=0;x {
initstack(s[x]);//建立e個棧
}
i

評論

共有 條評論

相關(guān)資源