`
birthdog
  • 浏览: 9530 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

链栈(1)

c 
阅读更多


#include"stdio.h"
#include"malloc.h"

typedef struct Node
{
	int data;
	Node *next;
}Node;

void InitStack(Node *&top)
{
	top = (Node *)malloc(sizeof(Node));
	top->next = NULL;
}

void createStack(Node *top)
{
	printf("Input data,input -1 to end:");
	int n;
	Node *q;
	scanf("%d",&n);
	while(n!= -1)
	{
		q = (Node *)malloc(sizeof(Node));
		q->data = n;
		q->next = top->next;
		top->next = q;
		scanf("%d",&n);
	}
}

void display(Node *top)
{
	Node *r;
	r = top->next;
	printf("The List: ");
	while(r!=NULL)
	{
		printf("%d  ",r->data);
		r = r->next;
	}
	printf("\n");
}

void Popstack(Node *top,int x)
{
	Node *p;
	p = (Node *)malloc(sizeof(Node));
	p->data = x;
	p->next = top->next;
	top ->next= p;
}

void Pushstack(Node *top, int &x)
{
	Node *r;
	if(top->next!=NULL)
	{
		r = top->next;
		x = r->data;
		top->next = r->next;
		free(r);
	}
}

void main()
{
	Node *top;
	InitStack(top);
	createStack(top);
	display(top);
	Popstack(top,9);
	display(top);
	int x;
	Pushstack(top,x);
	printf("The delete the element is %d: \n",x);
	display(top);
}
分享到:
评论

相关推荐

    链栈1.c

    链栈1.c

    顺序栈链栈1

    本文采用两种方式分别建立栈与顺序表的静态数组和动态数组原理相同,动态数组后期可扩容1、将top看做栈的指针,实际是数组下标,创建静态数组,初始化top=-1,同

    链栈的常用操作 c语言

    C语言实现链栈的常用操作,做了一个循环菜单,包括:创建链栈,入栈,出栈,清空栈,计算链栈的元素个数,判断链栈是否为空,打印链栈等操作。

    数据结构——链栈

    (1)初始化链栈s; (2)判断链栈s是否非空; (3)依次进链栈元素a,b,c,d,e; (4)判断链栈s是否非空; (5)输出链栈长度; (6)输出从栈顶到栈底元素; (7)输出出链栈序列; (8)判断链栈s是否非空; (9)...

    链栈的实现链栈的实现

    链栈的实现链栈的实现链栈的实现链栈的实现链栈的实现

    链栈_链栈的基本操作_链栈的清空_清空链栈_

    链栈的基本操作,包括入栈、显示栈元素、清空栈元素、判断栈空、进制的转换、出栈

    反序输出- 链栈

    反序输出- 链栈

    链栈的基本操作的实现

    链栈的基本操作的实现,这个程序中演示了链栈的初始化、链栈的创建、删除、查找以及输出等功能。使用c语言所写。

    数据结构实验——链栈

    数据结构实验——链栈数据结构实验——链栈数据结构实验——链栈数据结构实验——链栈数据结构实验——链栈数据结构实验——链栈数据结构实验——链栈

    链栈C++源文件 以链式实现栈的算法

    实现插入,创建,删除,等基本操作。 链栈C++源文件 以链式实现栈的算法

    链栈的常用操作(C++)

    C++实现链栈的常用操作,定义了两个类,一个是结点类,一个是链栈类,做了一个循环菜单,包括:创建链栈,入栈,出栈,清空栈,计算链栈的元素个数,判断链栈是否为空,打印链栈等操作。

    c语言实现链栈操作

    数据结构作业,用c实现链栈的基本操作,程序不是很难,谢谢

    链栈代码和讲解

    链栈代码和讲解,内容详细全面,通俗易懂,通过测试,代码可以直接使用,方便大家学习.

    用链栈做括号匹配

    用链栈做括号匹配

    C++模版类实现顺序栈、链栈

    压缩包内为栈的工程包;工程包括顺序栈、链栈的类的定义与实现;附适当注释;完全面向对象,类封装;测试类中用(纯)虚函数实现多态。

    链栈的基本操作和实现

    链栈的基本操作和实现链栈的基本操作和实现链栈的基本操作和实现

    链栈的表示和实现源码

    链式存储的栈表示和实现源码,包括链栈的初始化、进栈、出栈、取栈顶元素等操作。

    链栈的基本运算

    本程序共设计了链栈需要的的4个基本操作运算,分别是顺序栈的入栈,出栈,访问,以及置空操作。附带实验报告。

    链栈的c++实现

    用动态内存的方法实现链栈,操作包括有初始化栈、释放动态内存、检测栈是否为空、入栈、出栈、取栈顶元素。

    c++链栈源代码实现

    用c++实现链栈代码,仅用于学习,造成商业问题概不负责

Global site tag (gtag.js) - Google Analytics