数据结构实验---栈和队列

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Mr_Qin_AC/article/details/83444296

#include<stdio.h>
#include<stdlib.h>
#define N 105
int a[N];
struct node
{
	int data;
	node *next;
}*h;
void LinkStack()//用链表实现栈
{
	node *s;
	int n;
	printf("请输入需要入栈元素的数量:      ");
	scanf("%d",&n);
	printf("请输入需要入栈的元素:          ");
	h=NULL;
	s=h;
	while(n--)
	{
		s=(node *)malloc(sizeof(node));
		scanf("%d",&s->data);
		s->next=h;
		h=s;
	}
	printf("输出栈中的元素:                ");
	while(h!=NULL)
	{
		printf("%d ",h->data);
		h=h->next;
	}
	printf("\n");
	return ;
}
void LinkQueue()//用链表实现队列
{
	node *s,*e;
	int n;
	h=(node *)malloc(sizeof(node));
	s=h;
	printf("请输入需要入队的元素的数量:    ");
	scanf("%d",&n);
	printf("请输入需要入队的元素:          ");
	while(n--)
	{
		e=s;
		s=(node *)malloc(sizeof(node));
		scanf("%d",&s->data);
		e->next=s;
		s->next=NULL;
	}
	printf("输出队列中的元素:              ");
	h=h->next;
	while(h!=NULL)
	{
		printf("%d ",h->data);
		h=h->next;
	}
	printf("\n");
	return ;
}

int main()
{

 LinkStack();
 LinkQueue();
	printf("谢谢使用!\n");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/Mr_Qin_AC/article/details/83444296