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

栈的基本操作的C语言程序

02月16日 编辑 39baobao.com

[急!C语言程序数据结构排序算法的问题]#include"stdio.h" #include"stdlib.h" #include "string.h" #define Max 100 //假设文件长度 typedef struct{ //定义记录类型 int key; //关键字项 }RecType; typedef RecType Se...+阅读

#include

#include

#define MAX 1024 ///栈使用数组模拟,MAX是最大元素个数

typedef int DataType; ///数据域使用整形

typedef struct _stack

{

DataType data[MAX]; ///存放数据

int top; ///栈顶指针

}stack;

///初始化

int initStack(stack (*s))

{

return emptyStack(s);

}

///数据压栈,成功返回1,失败返回0

int push(stack (*s), DataType d)

{

if ((*s).top >= MAX - 1) //栈已满

{

printf("栈已满,不能压栈\n");

return 0;

}

//数据压栈

(*s).top++;

(*s).data[(*s).top] = d;

return 1;

}

///数据出栈,成功返回1,d指向的区域存储弹出的数据,失败返回0

int pop(stack (*s), DataType *d)

{

if ((*s).top <= -1)

{

printf("栈为空,不能出栈\n");

return 0;

}

//出栈

*d = (*s).data[(*s).top];

(*s).top--;

return 1;

}

///清空栈

int emptyStack(stack (*s))

{

(*s).top = -1;

return 1;

}

int main(int argc, char** argv)

{

stack s;

int i, d;

initStack(&s);

//压栈

for (i = 0; i < 1025; i++)

{

push(&s, i);

}

//清空

emptyStack(&s);

for (i = 0; i < 10; i++)

{

push(&s, i);

}

//出栈

for (i = 0; i < 11; i++)

{

pop(&s, &d);

printf("%d\n", d);

}

return 0;

}

以下为关联文档:

请大家编写一个C语言程序#include<stdio.h> int main() { int a[3][5],i,j,min; printf ("input a[][]:\n"); for (i=0;i<3;i++) { for(j=0;j<5;j++) scanf("%d",&a[i][j]); } min=a[0][0]; for(i=0;i<3...

一个简单的C语言程序大家看看!#include<stdio.h> main() { unsigned int a,i=1; printf("\n Input an int number:\n"); scanf("%d",&a); for (i=1;i<=a;i++) if (a%i==0) printf("%d,",i); else continue; }...

跪求一个单片机生日快乐歌C语言程序#include <reg52.h> #define uint unsigned int #define uchar unsigned char sbit BEEP=P1^2;//接喇叭或蜂鸣器的接口 uint h,i; uint hz; uchar jiep; bit flag; uint code...

C语言程序题函数判断回文数# include //添加头文件 int main(void)//主函数 { int val; int m; int sum = 0;//定义三个整型变量,分别是val m sum,其中sum赋初值位0 printf("请输入您需要判断的数字:"); scanf(...

c语言中关于链表的基本操作问题struct node *h,*p,*q;/*定义三个指向struct node类型结构体的指针,此处三个结构体类型的指针不指向任何存储空间,系统是不是也得给指针本身分配一点小小的空间,以存放地址值?有...

关于51单片机汇编语言程序ORG 0000H LJMP MAIN ORG 000BH LCALL TIMER0 ORG 1000H MAIN: LCALL INIT WAIT : CJNE R0,#10,WAIT MOV R0,#0 RRC A MOV P1,A SJMP WAIT INIT MOV TMOD,#01H MOV TH0,#3CH...

C语言程序考题我来回答下面的; 12、表达式:10!=9的值是( )。 A、 true B、 非零值 C、 0 D、 1 10!=9是一个关系表达式,其值非0即1,10不等于9 是真值,所以结果为1.选D。 13、设有数组定义:char a...

用if语句编写四则运算的C语言程序#include"stdio.h" void main() { int x,y,z; char c; scanf("%d%d",&x,&y); gtchar(c); switch(c) { case '+': z=x+y; case '-': z=x-y; case '*': z=x*y; case '/': z=x/y; }...

学习过的c语言程序的数据类型和运算符有哪些C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型 C语言的运算符包含的范围很广泛,共有34种运算...

推荐阅读
图文推荐