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

滨海做网站的价格北海市做网站的公司

滨海做网站的价格,北海市做网站的公司,网站推广做百度还是360,设计制作散发寄递销售给予处分一、栈的定义与特点 栈#xff1a;只能在表的一端#xff08;栈顶#xff09;进行插入和删除运算的线性表 逻辑结构 与线性表相同#xff0c;仍为一对一关系 存储结构 用顺序栈和链栈存储均可#xff0c;但顺序栈更常见 访问结点时依照后进先出只能在表的一端栈顶进行插入和删除运算的线性表 逻辑结构           与线性表相同仍为一对一关系   存储结构           用顺序栈和链栈存储均可但顺序栈更常见   访问结点时依照后进先出LIFO或先进后出FILO的原则 进栈------压入-----push()                        出栈-----弹出-----pop() 栈与线性表-仅在于运算规则不同 线性表:           逻辑结构一对一           存储结构顺序表、链表           运算规则                      顺序表——随机存取                      链表——顺序存取 栈           逻辑结构一对一           存储结构顺序栈、链栈           运算规则后进先出先进后出 栈顶线性表允许进行插入删除的那一端。 栈底固定的不允许进行插入和删除的另一端。 空栈不含任何元素的空表。 栈的数学性质n个不同元素进栈出栈元素不同排列的个数为1/n1)C ~2n~ *n 栈的抽象数据类型     ADT Stack {              数据对象D{ai| ai∈ElemSet, i1,2,...,n, n≥0 }              数据关系R1{ ai-1,ai| ,ai-1,ai∈D, i2,...,n } 约定an端为栈顶a1端为栈底。              基本操作                 InitStack(S) 操作结果构造一个空栈 S。                 DestroyStack(S) 初始条件栈 S 已存在。 操作结果栈 S 被销毁。                 ClearStack(S) 初始条件栈 S 已存在。 操作结果将 S 清为空栈。                 StackEmpty(S) 初始条件栈 S 已存在。 操作结果若栈 S 为空栈则返回TRUE否则返回FALSE。                 StackLength(S) 初始条件栈 S 已存在。 操作结果返回栈 S 中元素个数即栈的长度。                 GetTop(S, e) 初始条件栈 S 已存在且非空。 操作结果用 e 返回S的栈顶元素。                 Push(S, e) 初始条件栈 S 已存在。 操作结果插入元素 e 为新的栈顶元素。                 Pop(S, e) 初始条件栈 S 已存在且非空。 操作结果删除 S 的栈顶元素并用 e 返 回其值。 } ADT Stack  二、栈的顺序存储结构 顺序栈的存储方式      同一般线性表的顺序存储结构完全相同利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素。栈底一般在低地址端。     附设top指针指示栈顶元素在顺序栈中的位置。     另设base指针指示栈底元素在顺序栈中的位置。 为了方便操作通常top指示真正的栈顶元素之上的下标地址。 另外用stacksize表示栈可使用的最大容量。 顺序栈的表示 #define MAXSIZE 100        typedef struct{           SElemType *base;           SElemType *top;           int stacksize;         }SqStack; 顺序栈初始化构造一个空栈 (1)分配空间并检查空间是否分配失败若失败则返回错误 (2)设置栈底和栈顶指针S.top S.base; (3)设置栈大小 Status InitStack( SqStack S ){              S.base new SElemType[MAXSIZE]              if( !S.base ) return OVERFLOW;              S.top S.base;              S.stacksize MAXSIZE;               return OK;  } 判断顺序栈是否为空    bool StackEmpty( SqStack S ){             if(S.top S.base) return true;             else return false;   } 求顺序栈的长度  int StackLength( SqStack S ){            return S.top – S.base;  } 清空顺序栈 Status ClearStack( SqStack S ){              if( S.base )              S.top S.base;              return OK; } 销毁顺序栈 Status DestroyStack( SqStack S ){         if( S.base ){             delete S.base ;             S.stacksize 0;             S.base S.top NULL;         }         return OK; } 顺序栈进栈        (1)判断是否栈满若满则出错        (2)元素e压入栈顶        (3)栈顶指针加1 Status Push( SqStack S, SElemType e){             if( S.top - S.base S.stacksize ) // 栈满             return ERROR;             *S.tope;             return OK; } 顺序栈出栈         (1)判断是否栈空若空则出错         (2)栈顶指针减1         (3)获取栈顶元素e Status Pop( SqStack S, SElemType e){           if( S.top S.base ) // 栈空           return ERROR;           e *--S.top;           return OK; } 取顺序栈栈顶元素 判断是否空栈若空则返回错误 否则通过栈顶指针获取栈顶元素 Status GetTop( SqStack S, SElemType e){              if( S.top S.base ) return ERROR; // 栈空              e *( S.top – 1 );              return OK; } 三、共享栈 将编号为0和1的两个栈存放于一个数组空间V[m]中栈底分别处于数组的两端。当第0号栈的栈 顶指针top[0]等于-1时该栈为空当第1号栈的栈顶指针top[1]等于m时该栈为空。两个栈均从两端向中间增长。 栈空top[i] bot[i] i表示栈的编号  栈满top[0]1top[1] 或top[1]-1top[0] 共享栈定义      #define Maxsize 100      typedef struct{            int top[2], bot[2];                            //栈顶和栈底指针            SElemType data[Maxsize];           //栈数组      }DblStack; 四、链栈 采用链式结构存储的栈称为链栈是运算受限的单链表只能在链表头部进行操作故没有必要附加头结点。栈顶指针就是链表的头指针。 typedef struct StackNode {            SElemType data;            struct StackNode *next; } StackNode, *LinkStack; 链栈初始化 void InitStack(LinkStack S ){      //构造一个空栈栈顶指针置为空      SNULL; }链栈判空 Status StackEmpty(LinkStack S){               if (SNULL) return TRUE;               else return FALSE; } 链栈进栈 Status Push(LinkStack S , SElemType e){              pnew StackNode; //生成新结点p              if (!p) exit(OVERFLOW);              p-datae;              p-nextS; //??为什么这里不是S-next呢              Sp;              return OK; } 链栈出栈 Status Pop (LinkStack S,SElemType e){             if (SNULL) return ERROR;             e S- data;             p S;             S S- next;             delete p;             return OK; } 取栈顶元素 SElemType GetTop(LinkStack S){           if (SNULL) exit(1)           else           return S–data; } 链栈的特点 1不存在栈满上溢的情况。 2栈顶指针就是链表头指针。 3头插法建立单链表相当于进栈。 4单链表的删除相当于出栈。
http://www.zqtcl.cn/news/621922/

相关文章:

  • 网站建设方案 文库新乡网站seo优化
  • 网站优化需要什么软件有没有帮别人做网站
  • 做国外网站选择vps汉中公司做网站
  • ipad网站开发百度推广送的公司网站有什么用
  • 网站被收录wordpress模板游戏推广
  • 做个网站成功案例深圳网络推广工资
  • 河南省城乡与住房建设厅网站做网站的都是什么专业毕业的
  • 做网站月薪10万微信网页开发教程
  • 网站开发组岗位上海著名企业
  • 阿里云网站建设方案网站源码分享
  • 设计感很强的中文网站公司专业网页制作
  • 自己制作网站做外贸赚钱吗什么是网站html静态化
  • 网站中的搜索功能怎么做的网站空间价格
  • 网站内容收费WordPress之类的
  • 好网站推荐一下网站建设客户评价
  • 重庆交通网站建设wordpress08模板
  • 网站搭建响应式wordpress访客切换主题
  • 标准网站建设推荐帮别人做网站开票开什么税目
  • 温州网站优化衡阳县专业做淘宝网站
  • 门户网站建设存在的问题和差距无锡做智能网站
  • 受欢迎的常州做网站网站制作ppt
  • 物流网站建设实例 天堂资源帝
  • 太原建设厅官方网站wordpress 导入工具
  • 做网站树立品牌形象建设了网站后怎么用谷歌引流
  • 专业公司网站建设建设人才库网站
  • 怎么自己做直播网站吗手机免费建站app
  • 惠州规划建设局网站seo网站关键词排名优化公司
  • 关键词检测百度seo一本通
  • 做效果图的外包网站徐州低价seo
  • xp系统中做网站服务器吗网站设计版权