• 今天打的一部分链式栈


     1 #include<stdio.h>
     2 #include<string.h>
     3 #include<stdlib.h>
     4 typedef int ElemType;
     5 /*链栈结点*/ 
     6 typedef struct Node{
     7        ElemType data;
     8        struct Node *next;
     9 }LinkStackNode;
    10 /*链栈结构*/
    11 typedef struct{
    12        LinkStackNode *top;
    13        int length;
    14 }LinkStack; 
    15 //初始化链式栈
    16 void InitStack(LinkStack *S){
    17     S->top=NULL;
    18     S->length=0;
    19     printf("初始化成功
    ");
    20 }
    21 //入栈
    22 int PUSH(LinkStack *S){
    23     int n;
    24     LinkStackNode *x=(LinkStackNode*)malloc(sizeof(LinkStackNode));
    25         if(x==NULL){
    26             return printf("申请空间失败
    "); 
    27         }
    28         printf("请输入你想入栈的数
    ");
    29         scanf("%d",&n);
    30          x->data=n;
    31          x->next=S->top;//插入一个新结点在头部 
    32          S->top=x;//将头结点指针指向该结点 
    33          S->length++;
    34         return printf("入栈成功
    ");
    35 } 
    36 int Pop(LinkStack *S,ElemType *x){
    37     LinkStackNode *temp=S->top;//将temp指针指向头结点; 
    38     //移动栈顶指针
    39     S->top=temp->next;//将头结点指针指向temp指针的下一位 
    40     S->length--; 
    41     *x=temp->data;
    42     free(temp); //释放temp 
    43     printf("出栈成功");
    44 }
    45 int main(){
    46     LinkStack S;
    47     int x;
    48     
    49     InitStack(&S);
    50     
    51     PUSH(&S);
    52     
    53     Pop(&S,&x);
    54     
    55     printf("%d",x); 
    56     
    57 
    58     
    59     
    60     
    61 }
    62 
    63  

    暂时只打了出栈和入栈。

  • 相关阅读:
    delphi 数据导出到word
    use vue vuex vue-router, not use webpack
    样式化加载失败的图片
    HTML5 这些你全知道吗?
    移动端touch实现下拉刷新
    参与前端开源项目你应该了解的知识
    JavaScript 深浅拷贝
    精通移动端布局
    JavaScript模块
    两层Fragment嵌套,外层Fragment切换时内层Fragment不显示内容
  • 原文地址:https://www.cnblogs.com/longlonglonglong/p/10969982.html
Copyright © 2020-2023  润新知