zoukankan      html  css  js  c++  java
  • 队列 句子分析 精辟的诠释 有图片

    </pre><pre code_snippet_id="505570" snippet_file_name="blog_20141102_3_3508855" name="code" class="cpp">
    
    
    
    顺序栈,即栈的顺序存储结构是利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素。同一时候附设指针top指示栈项元素在顺序栈中的位置。



    #include "stdio.h"//包括头文件。就是编译时候把stdio.h中的内容替换到这个位置。

    struct stack//定义结构体stack { int length;//定义整型变量length struct data *top;//定义data类型的指针变量top }; struct data//定义data结构体 { char c;//定义字符变量c struct data *next;//定义data类型指针变量next }; struct stack *InitStack()//定义函数initstack,函数返回值是stack类型的指针 { struct stack *p;//定义stack指针p p=(struct stack *)malloc(sizeof(struct stack));//给p分配内存空间,空间大小正好够保存一个stack数据 p->length=0;//给p指向的内存空间赋值 p->top=NULL;//给p指向的内存空间赋值 return p;//返回p的值 } Push(struct stack *p,char a)//定义函数,函数带两个參数指针p和字符a { struct data *t;//定义data类型指针t t=(struct data *)malloc(sizeof(struct data));//给t分配内存空间 t->next=p->top;//给t指向的data型内存空间赋值 p->top=t;//把t的地址保存到p指向的内存空间中的一个变量保存起来 t->c=a;//给t指向的data型内存空间赋值 p->length++;//p指针指向的结构体变量中的length变量+1 return 0;//返回0 } Pop(struct stack *p,char *a)//定义函数,带两个參数:指针p和字符指针a { struct data *t;//定义指针t t=p->top;//把p中的top变量赋给t p->top=t->next;//改变p中的top变量值为t中next变量的值 *a=t->c;//改变函数第二个參数的值为t中c变量的值 free(t);//释放t指向的内存空间 p->length--;//p中的length变量-1 return 0;//返回0 } char change(int n)//定义函数,带1个參数,n { if(n>9)return 'A'+n-10;//推断,假设n>9则返回英文字母表中相应的英文字母. return n+'0';//否则返回0 } main()//入口函数 { int n,val;//定义整数n char c;//字符c struct stack *p;//stack类型指针p p=InitStack();//运行函数initstack,返回值给p printf("请输入十进制数:"); //屏幕输出 请输入十进制数: scanf("%d",&n);//从键盘输入一个整数,给n printf("请输入要转换的进制:"); scanf("%d",&val); //从键盘输入一个整数,给val printf("结果:"); while(n>0) //循环,假设n大于0则继续运行,否则跳出循环 { c=change(n%val); //运行change函数,返回值给c n/=val; Push(p,c);//运行push函数 } while(p->length!=0)//循环,假设p中保存的length变量不等于0则继续,否则跳出 { Pop(p,&c); //运行pop函数 printf("%c",c); //输出c变量中保存的字符 } printf(" ");//换行 return 0;//返回0 }





  • 相关阅读:
    python D32 管道、线程池
    python D31 守护进程、进程锁、队列
    python D30 进程
    python 30 进程之间的相互独立、进程之间的时间差
    python D30 操作系统历史
    python D29 socketserver以及FTB
    python D28 粘包
    net4.0 task 超时任务代码 用Thread.sleep方式实现
    sql取随机结果集
    【ecshop---新增包邮卡功能】
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5042682.html
Copyright © 2011-2022 走看看