zoukankan      html  css  js  c++  java
  • C语言链栈

    链栈是用链表来表示的栈,其实质上还是链表,插入使用的是尾插法,只不过一直使用top指针来操作栈,而这个top指针就是main函数中的那个初始指针,入栈和出栈都是和链表一样的操作。可能唯一不同的就是在main函数中栈的初始化不需要分配空间(当然也可以分配空间,看个人实际代码操作)

     1 #include<stdio.h>
     2 #include<stdlib.h>
     3 
     4 typedef struct node{
     5     int data;
     6     struct node *next;
     7 }LinkStack;
     8 
     9 //判断是否为栈空 
    10 int isEmpty(LinkStack *ls){
    11     
    12     if(ls==NULL)
    13         return 1;
    14     return 0;
    15     
    16 }
    17 
    18 //出栈 
    19 LinkStack *outStack(LinkStack *ls){
    20     
    21     LinkStack *p = ls; 
    22     ls = p->next;
    23     free(p);
    24     return ls;
    25     
    26 }
    27 
    28 //入栈 
    29 LinkStack *inStack(LinkStack *ls,int e){
    30     
    31     LinkStack *p = (LinkStack *)malloc(sizeof(LinkStack));
    32     p->data = e;
    33     p->next = NULL;
    34     
    35     p->next = ls;
    36     ls = p;
    37     return ls;
    38     
    39 }
    40 
    41 //为了打印,迫不得已 
    42 void display(LinkStack *ls){
    43     
    44     LinkStack *p = ls;
    45     while(p!=NULL){
    46         printf("%d ",p->data);
    47         p = p->next;
    48     }
    49     
    50 }
    51 
    52 void main(){
    53     
    54     LinkStack *ls = NULL;            //这个指针就是top指针 
    55     int i,num[6] = {21,31,45,67,90,44};
    56     
    57     for(i=0;i<6;i++)
    58         ls = inStack(ls,num[i]);
    59         
    60     display(ls);
    61     
    62 }
  • 相关阅读:
    Zuul token FIlter 验证失败结果输出
    springboot 使用 dev tool 导致 CastException
    索引失效的情况汇总
    JVM笔记-GC常用参数设置
    关于gdb和shp的FID问题
    配置mac百度云同步盘
    【python常用函数1】
    【python环境配置1】 环境变量与常用模块
    【nodejs笔记——小知识点汇总】
    ArcGIS标注
  • 原文地址:https://www.cnblogs.com/lsy-lsy/p/10027829.html
Copyright © 2011-2022 走看看