c语言栈的主函数,c语言实现栈的基本操作

如何写数据结构中栈的顺序表示中主函数?我要的是C语言版的。例子如下

//Sorry,看来我理解错了,这是改后的》》》》》》》》

青龙ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!

//顺序栈

#includestdio.h

#includestdlib.h

#define MAXSIZE 100

typedef struct

{

int data[MAXSIZE];

int top;

}SqStack;

void PushStack(SqStack *S,int x) //入栈

{

if(S-top==MAXSIZE-1) printf("栈已满,不能入栈!\n");

else

}

void PopStack(SqStack *S) //退栈

{

if(S-top==-1) printf("栈为空,不能出栈!\n");

else

}

int GetStackTop(SqStack S) //取栈顶元素

{

return S.data[S.top];

}

main()

{

int x,i;

SqStack myStack;

myStack.top=-1;

do

{

printf("请选择你需要的操作:\n1.置空栈.\n2.进栈.\n3.退栈.\n4.取栈顶元素.\n5.退出程序.\n(请输入1或2或3或4或5):");

scanf("%d",i);

switch(i)

{

case 1:myStack.top=-1;printf("栈已置空!\n");break;

case 2:printf("请输入你要进栈的元素:");

scanf("%d",x);

PushStack(myStack,x);break;

case 3:PopStack(myStack);break;

case 4:if(myStack.top!=-1) printf("栈顶元素是 %d.\n",GetStackTop(myStack));

else printf("栈为空,没有元素!\n");break;

case 5:break;

default:printf("选择错误,请重新输入!\n");break;

}

}while(i!=5);

return 0;

}

//链栈

#includestdio.h

#includestdlib.h

typedef struct SNode

{

int data;

struct SNode *next;

}SNode,*LinkStack;

LinkStack top;

LinkStack PushStack(LinkStack top,int x) //入栈

{

LinkStack s;

s=(LinkStack)malloc(sizeof(SNode));

s-data=x;

s-next=top;

top=s;

return top;

}

LinkStack PopStack(LinkStack top) //退栈

{

LinkStack p;

if(top!=NULL)

{

p=top;

top=top-next;

free(p);

printf("退栈已完成\n");

return top;

}

else printf("栈是空的,无法退栈!\n"); return 0;

}

int GetStackTop(LinkStack top) //取栈顶元素

{

return top-data;

}

main()

{

int i,x;

do

{

printf("请选择你需要的操作:\n1.置空栈.\n2.进栈.\n3.退栈.\n4.取栈顶元素.\n5.退出程序.\n(请输入1或2或3或4或5):");

scanf("%d",i);

switch(i)

{

case 1:top=NULL;break;

case 2:printf("请输入你要进栈的元素:");

scanf("%d",x);

top=PushStack(top,x);

printf("进栈已完成!\n");break;

case 3:top=PopStack(top);break;

case 4:if(top!=NULL) printf("栈顶元素是:%d!\n",GetStackTop(top));

else printf("栈是空的,没有元素!\n");break;

case 5:break;

default:printf("选择错误,请重新输入!\n");break;

}

}while(i!=5);

return 0;

}

C语言里的主函数是什么

main(),在c语言中称之为“主函数”,一个c程序有且仅有一个main函数,任何一个c程序总是从main函数开始执行,main函数后面的一对圆括号不能省略。

具体形式如下:

main()

{   }

被大括号{ }括起来的内容称为main函数的函数体,这部分内容就是计算机要执行的内容。

在{  }里面每一句话后面都有一个分号(;),在c语言中,我们把以一个分号结尾的一句话叫做一个c语言的语句,分号是语句结束的标志。

扩展资料:

函数是一组一起执行一个任务的语句。每个 C 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。

您可以把代码划分到不同的函数中。如何划分代码到不同的函数中是由您来决定的,但在逻辑上,划分通常是根据每个函数执行一个特定的任务来进行的。

函数声明告诉编译器函数的名称、返回类型和参数。函数定义提供了函数的实际主体。

C 标准库提供了大量的程序可以调用的内置函数。例如,函数 strcat() 用来连接两个字符串,函数 memcpy() 用来复制内存到另一个位置。

函数还有很多叫法,比如方法、子例程或程序,等等。

参考资料来源:百度百科-C语言函数

C语言数据结构栈的主函数怎么调用?主函数怎么写?下面是栈的部分程序,帮忙把主函数不出来吧

你这是数据结构中的队列问题,而不是栈的问题。head代表的是队列头,删除时删的是队列头元素,tail代表的是队列尾,插入时插的是队列尾元素

程序中这条语句是错误的。中括号只有一半,那一半呢? *p_y=qp++head];

至于要求的主函数,如果是队列问题还要涉及的是一般队列还是循环队列,因此没法写给你。


分享文章:c语言栈的主函数,c语言实现栈的基本操作
网页URL:http://ybzwz.com/article/hshgdo.html