当前位置: 首页 > news >正文

电子商务网站需要做那些准备工作淄博张店外贸建站公司

电子商务网站需要做那些准备工作,淄博张店外贸建站公司,怎么做自己的网页,一个销售网站的设计方案栈的创建一般有顺序栈和链栈&#xff0c;下面我将给大家一一介绍顺序栈:顾名思义就是在数组中存储的栈&#xff0c;在内存中占据一块连续的内存空间顺序栈代码实现:#include <stdio.h> #include <stdbool.h> #define MaxSize 10 //假设顺序栈的最大长度是10 typed…

栈的创建一般有顺序栈和链栈,下面我将给大家一一介绍

顺序栈:顾名思义就是在数组中存储的栈,在内存中占据一块连续的内存空间

顺序栈代码实现:

#include <stdio.h>
#include <stdbool.h>
#define MaxSize 10  //假设顺序栈的最大长度是10
typedef struct Sqstack
{
int data[MaxSize];
int top;//指向栈顶
}Sqstack;
bool InitList(Sqstack* S)
{
S->top = 0;//指向栈底
return true;
}
bool Push(Sqstack* S)//进栈
{
if (S->top == MaxSize)//满栈,第一次满栈插入不了任何数据返回false
return false;
int i;
scanf("%d", &i);
while (i != 9999)//假设输出9999退出
{
if (S->top == MaxSize)//满栈了,第二次插入数据后满栈返回true
return true;
S->data[S->top] = i;
S->top++;
scanf("%d", &i);
}
return true;
}
bool Pop(Sqstack* S)//出栈
{
if (S->top == 0)//空栈
return false;
int n;
int i;
printf("请输入出栈个数:\n");
scanf("%d", &n);
if (n > S->top)//如果出栈个数大于总个数直接返回
return false;
for (i = 0; i < n; i++)
{
S->top--;//由于是静态数组存储无法手动释放内存
}
return true;
}
int GetTop(Sqstack S, int* x)//查找栈顶元素
{
if (S.top == 0)//空栈
{
printf("空栈\n");
return 0;
}
*x = S.data[S.top - 1];//必须减1
return *x;
}
bool destoryStack(Sqstack* S)
{
if (S->top == 0)//空栈
return false;
S->top = 0;//令栈顶为0

    return true;
}
bool PrintStack(Sqstack S)//打印栈
{
if (S.top == 0)//空栈
return false;
int i;
for (i = 0; i < S.top; i++)
{
printf("%d ", S.data[i]);
}
return true;
}
int main()
{
Sqstack S;
InitList(&S);//初始化栈
Push(&S);//进栈
Pop(&S);//出栈

    int x;
GetTop(S,&x);//查找栈顶指针
printf("栈顶指针为:%d\n", x);

int del;
printf("是否销毁栈:(0销毁,1不销毁)\n");
scanf("%d", &del);
destoryStack(&S);

    PrintStack(S);//打印栈
return 0;
}

链栈:链栈是由链表来实现的一种栈操作,一般用不带头结点的单链表实现

链栈的代码实现:

#include<stdio.h>
#include<stdlib.h>
#include<stdbool.h>
typedef struct SNode
{
int data;//栈的数据
struct SNode* next;//栈里的下一个结点
}SNode,*LinkStack;
bool InitList(LinkStack* S)//初始化链表
{
(*S) = NULL;//表示当前栈为空
return true;
}
bool Push(LinkStack* S)//进栈
{
//第一次入栈
SNode* p = (SNode*)malloc(sizeof(SNode));
if (p == NULL)
return false;
int i;
scanf("%d", &i);
p->data = i;
p->next = NULL;
(*S) = p;

    //后续入栈
scanf("%d", &i);//假设输入9999退出
while (i != 9999)
{
SNode* q = (SNode*)malloc(sizeof(SNode));
if (q == NULL)
return false;
q->data = i;
q->next = (*S);
(*S) = q;
scanf("%d", &i);
}
return true;
}
int Length(LinkStack S)//获取栈的长度
{
SNode* p = S;
int n = 0;
if (p == NULL)//空栈长度为0
return n;
while (p != NULL)
{
p = p->next;
n++;
}
return n;
}
bool Pop(LinkStack* S)//出栈
{
SNode* p = (*S);//指向栈顶
if (p == NULL)//空栈无法出栈
return false;
int n,i;
int len = Length(*S);//获取栈长度
printf("请输入要出栈几次\n");
scanf("%d", &n);
if (n > len)//出栈次数超过栈长度
return false;
for (i = 0; i < n; i++)
{
SNode* temp = p;
(*S) = (*S)->next;
free(temp);
p = (*S);
}
return true;

}
SNode* GetTop(LinkStack S)
{
SNode* p = S;
if (p == NULL)
return NULL;
return p;
}
bool Destory(LinkStack* S)
{
SNode* p = (*S);//指向栈顶
if (p == NULL)
return false;
while ((*S) != NULL)
{
SNode* temp = p;
(*S) = (*S)->next;
free(temp);
p = (*S);
}
return true;
}
bool PrintList(LinkStack S)//打印栈
{
if (S == NULL)//空栈
return false;
SNode* p = S;//指向栈顶
while (p != NULL)
{
printf("%d ", p->data);
p = p->next;
}
return true;
}
int main()
{
LinkStack S;
InitList(&S);//初始化
Push(&S);//进栈
Pop(&S);//出栈
//GetTop(S);//查找栈顶指针
//Destory(&S);//销毁栈
PrintList(S);//打印栈

    return 0;
}

http://www.dtcms.com/a/412300.html

相关文章:

  • 肇庆网站上排名做网站用html还是python好
  • 怎么网站建设易企推
  • 一级a视网站 做爰片公司网站建设 阜阳
  • 河北婚庆网站建设定制wordpress更改域名后
  • PE文件格式
  • 做网站充值微信必须是企业机关网站建设总结
  • 产品推广的网站怎么做做电影网站赚了几百万
  • xp系统中做网站服务器吗青岛网站制作百家号
  • MR500U工业级5网口4G插卡路由器主板的使用方法和路由器后台操作过程
  • 怀化二医院网站网店运营推广高级实训教程
  • 温州网站建设托管设计公司网站需要多少钱
  • 河北世达建设集团有限公司网站网络舆情分析案例
  • 大学网站的设计方案如何做跨境电商新手入门教程
  • 网站目录做301申请网站的域名
  • 网站开发 技术方案flash网站设计师
  • C++ Pimpl(Pointer to Implementation)设计思想(转载)
  • uthash.h库源码
  • 网站建设 美食站点网页传奇哪个比较好玩
  • 创建一个新的公司网站南海桂城城乡建设局官方网站
  • 9.27 枚举|前缀和dp|正则shell
  • 卫朋:IPD流程落地-技术管理实战
  • 兽装定制网站wordpress站点登陆
  • 网站建设学习哪家专业中龙建电力建设股份有限公司网站
  • 百度获取入口哈尔滨网站优化流程
  • 装修公司免费网站模版防城港北京网站建设
  • 实现私有 yum 仓库搭建
  • 用于批量上传本地 Git 仓库到 Gitcode 的组织仓库
  • HCIP-IoT 真题详解(章节D),嵌入式基础与南向开发 /Part3
  • 新媒体公司网站怎么做海淘返利网站怎么做
  • 软件源码购买一般在哪个网站2019还有人做网站淘宝客吗