三九宝宝网宝宝教育教学论文

栈的c语言实现基本操作

02月16日 编辑 39baobao.com

[ubuntu怎么切换默认语言为英文]首先预览一下修改之前的英语版的Ubuntu系统,之后我们就要开始修改了 依次点击并打开:“系统”---->“系统设置”---->“语言和支持”,打开语言格式设置对话框 打开的语言和...+阅读

写了一个链式栈,你看看# include # include # include typedef struct Node { int data; struct Node *pNext; }NODE, *PNODE; typedef struct Stack { PNODE pTop; PNODE pBottom;//pBottem是指向栈底下一个没有实际意义的元素 }STACK, *PSTACK; void init( PSTACK ); void push( PSTACK, int ); void traverse( PSTACK ); int pop( PSTACK, int * ); int empty( PSTACK pS ); int main( void ) { STACK S;//STACK等价于struct Stack int val; init( &S );//目的是造出一个空栈 push( &S, 1 );//压栈 push( &S, 2 ); push( &S, 3 ); push( &S, 4 ); push( &S, 5 ); push( &S, 6 ); push( &S, 7 ); traverse( &S );//遍历输出 // clear( &S ); //清空数据 // traverse( &S );//遍历输出 if( pop( &S, &val ) ) { printf( "出栈成功,出栈的元素是%d\n", val ); } else { printf( "出栈失败" ); } traverse( &S );//遍历输出出栈之后的元素 return 0; } void init( PSTACK pS ) { pS->pTop = ( PNODE )malloc( sizeof( NODE ) ); if( NULL == pS->pTop ) { printf( "动态内存分配失败!\n" ); exit( -1 ); } else { pS->pBottom = pS->pTop; pS->pTop->pNext = NULL;//或是pS->pBottom = NULL; } } void push( PSTACK pS, int val ) { PNODE pNew = ( PNODE )malloc( sizeof( NODE ) ); pNew->data = val; pNew->pNext = pS->pTop;//pS->Top不能改为pS->pBottom pS->pTop = pNew; } void traverse( PSTACK pS ) { PNODE p = pS->pTop; while( p != pS->pBottom ) { printf( "%d ", p->data ); p = p->pNext; } printf( "\n" ); } int empty( PSTACK pS ) { if( pS->pTop == pS->pBottom ) return 1; else return 0; } //把pS所指向的栈出栈一次,并把出栈的元素存入pVal形参所指向的变量中,如果出栈失败,则返回false,否则true int pop( PSTACK pS, int *pVal) { if( empty( pS ) )//pS本身存放的就是S的地址 { return 0; } else { PNODE r = pS->pTop; *pVal = r->data; pS->pTop = r->pNext; free( r ); r = NULL; //为什么要把r赋给NULL呢?? return 1; } } //clear清空 void clear( PSTACK pS ) { if( empty( pS ) ) { return ; } else { PNODE p = pS->pTop; PNODE q = p->pNext; while( p != pS->pBottom ) { q = p->pNext; free( p ); p = q; } pS->pTop = pS->pBottom; } }

以下为关联文档:

ubuntu如何切换中文语言及中文输入法安装完后重启N遍电脑,语言还是英文的,刚才只是下载了语言包,还需要切换系统语言2.回到刚才 language support 的节目 在language for menus and windows 的最底下看到 灰色的...

大神救命 Ubuntu纯命令行 mate桌面怎么更改语言首先,我们打开Ubuntu Kylin 14.10桌面左侧工具栏中的设置。然后选中设置中的“Language Support”。我这里是在虚拟机下快速安装的Ubuntu Kylin 14.10版本,所以我这里的默认系...

大班语言游戏家电语言游戏:水可以用来 作者: 收集于网络 目标: (1) 能用“水可以用来。。。。。。”的句式,说出水的各种用途; (2) 能积极参加游戏,动脑筋说出与他人不同的水的用途; (3) 知道水的重要性,懂...

那位大神能讲下C语言中栈的使用啊堆栈就是先入后出的数据结构。 如果用c语言来实现的话用个struct 先定义一个栈的节点 struct node; typedef strcut node * position; typedef position stack; stack creat...

c语言中栈是具体应用方法和步骤栈简单的讲就是一片存储区域(存储区的首地址即为栈顶) 你可以向栈中存入数据取出数据删除数据 /* Note:Your choice is C IDE */ #include "stdio.h" #define m 100 struct Myst...

C语言求栈的简单例子#include"iostream.h" const int maxsize=6; class stack{ float data[maxsize]; int top; public: stack(void); ~stack(void); void push(float a); bool empty(void); floa...

c语言的简单的进栈出栈就用这堆函数就可以了,不懂再追问 #include #define MaxSize 100 int mystack[MaxSize];/* 第0个单元保存现在的长度 */ /* 初始化函数 */ void init_stack(int* stack){ mems...

栈的操作用c语言#include <stdio.h> #define MAXSIZE 100 #define ERROR -1 typedef struct { int element[MAXSIZE]; int top; }stack; void InitStack(stack *s) { s->top=0; } bool IsEm...

栈的基本操作的C语言程序#include <stdio.h> #include <stdlib.h> #define MAX 1024 ///栈使用数组模拟,MAX是最大元素个数 typedef int DataType; ///数据域使用整形 typedef struct _stack { DataTy...

推荐阅读
图文推荐