#include<iostream>
#include<stdio.h>
#include<stdlib.h>
using namespace std;
typedef struct node{
int data;
struct node*next;
}node;
node*insert(node*head,int da)//链表头部插入数据
{
node*p=NULL;
p=(node*)malloc(sizeof(node));//注意添加节点的话,要开辟内存
p->data=da;
p->next=head->next;
head->next=p;
return head;
}
node*del(node*head)
{
head->next=head->next->next;
return head;
}
node*push(node*head,int num)
{
head=insert(head,num);
return head;
}
node*pop(node*head)
{
head=del(head);
return head;
}
void*print(node*head)
{
node*p=NULL;
p=head->next;
while(p)
{
cout<<p->data<<" ";
p=p->next;
}
}
int main()
{
node*stack=(node*)malloc(sizeof(node));
stack->next=NULL;
for(int i=1;i<=10;i++)
{
push(stack,i);
print(stack);cout<<endl;
}
for(int j=1;j<=10;j++)
{
pop(stack);
print(stack);cout<<endl;
}
system("pause");
return 0;
}
栈的基本操作(c链表实现)
最新推荐文章于 2022-07-02 22:01:29 发布