当前位置:首页 » 编程语言 » c语言stack头文件源码
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言stack头文件源码

发布时间: 2023-06-26 23:18:09

c语言中,如何用多个文件编写程序

  1. 将一个函数写在一个文件里,然后再在另一个文件里用“include”包含这个文件。

  2. 举例:

    在文件c1.c里编一个函数:
    void printWord(){
    printf("Hello!world!");
    }
    再建立一个文件c2.c,文件开头写上#include"c1.c",就可以调用c1.c里的函数printword()了
    这样通过include操作,可以把任意多个文件连接起来,编译成一个程序运行。

② 急!用c语言实现链栈的操作

typedef struct node
{ ElemType data;
struct node *next;
} LinkStack;
⑴置空栈
void InitLinkStack( LinkStack * & s)
{ s=NULL;
}
⑵判栈空
int IsEmptyLinkStack(LinkStack *s )
{ if(s==NULL)
return 1;
else
return 0;
}
⑶ 入栈/*将元素x插入链栈top的栈顶*/
void PushLinkStack(LinkStack* &s , ElemType x)
{ LinkStack *p;
p=malloc(sizeof(LinkStack)); /*生成新结点*s */
p->data=x;
p->next=s;
s=p;

}
⑷出栈/*删除链栈top的栈顶结点*/
int PopLinkStack (LinkStack* & s, ElemType &x)
{ LinkStack *p;
if(s==NULL) return 0;
x = s->data; /*将栈顶数据存入*x */
p = s; /*保存栈顶结点地址*/
s = s->next; /*删除原栈顶结点*/
free (p); /*释放原栈顶结点*/
return 1; /*返回新栈顶指针*/
}
(5) 取栈顶元素
int GetLinkStackTop (LinkStack* s, ElemType &x)
{
if(s==NULL) return 0;
x = s->data; /*将栈顶数据存入*x */
return 1; /*返回新栈顶指针*/
}
主函数怎么写吧

③ C语言:链栈的基本操作(代码如下:帮我看看错哪了)

#include<stdio.h>
#include<stdlib.h>

typedefstructStackNode
{
intdata;
structStackNode*next;
}SNode;

//只进栈一个元素
voidPush(SNode*s,inte)
{
SNode*p;
p=(SNode*)malloc(sizeof(SNode));
s->data=e;
p->next=s;
s=p;
//returns;
}

//连续进栈n个元素
voidPush_Series(SNode*s)
{
printf("请输入进栈的元素数:");
intn,i,e;
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("请输入第%2.d个进栈元素:",i+1);
scanf("%d",&e);
Push(s,e);
//printf("此阶段的元素为:%2.d ",s->next->data);
}
}
voidPop(SNode*s)
{
if(s==NULL)
{
printf("栈空了!!!");
exit(0);
}
SNode*q;
inte;
e=s->data;
printf("***************** ");
printf("栈顶元素为:%d",e);
printf("***************** ");
q=s;
s=s->next;
free(q);
}

//★:s是形参,你在里面申请的内存空间地址是无法赋值给调用此函数的s的!
voidInirStack(SNode**s) //★:∴应用指针的指针!(或者C++里用引用)
{
*s=(SNode*)malloc(sizeof(SNode));
(*s)->next=NULL;
}

intmain()
{
SNode*s; //★你这个s没有申请内存空间!
/*
SNode*s=(SNode*)malloc(sizeof(SNode));
s->next=NULL;*/
InirStack(&s); //★此处要把指针的指针代入
Push_Series(s);
Pop(s);
printf("Helloworld! ");
return0;
}

④ C语言中使用stack头文件

stack < item >s; //栈元素类型要定义成item
s.push(temp); //这样才可以压入结构体数据