2008秋季-计算机软件基础-0917课堂用例(1)
链栈:
参见:http://www.cnblogs.com/emanlee/archive/2007/09/12/890647.html
#include<stdio.h>
#include<stdlib.h>
struct stacknode
{
int data;
struct stacknode *next;
};
//
struct stacknode * InitialLinkList ()
{
struct stacknode * head;
head=(struct stacknode *)
malloc(sizeof(struct stacknode ));//
head->next=NULL;
return head;
}
//入栈
void PushIntoStack(struct stacknode * head, int value)
{
struct stacknode * p;
p=(struct stacknode *)malloc(sizeof(struct stacknode ));
p->data=value;
p->next=head->next;
head->next=p;
}
void PopFromStack(struct stacknode * head)
{
struct stacknode * p;
if(head->next==NULL)
printf("Pop Failed \n");
else
{
p=head->next;
head->next=p->next;
free(p);
}
}
void ShowStackElement(struct stacknode *head)
{
struct stacknode * p;
p=head->next;
printf("\n显示栈中元素:\n");
while(p!=NULL)
{
printf(" %d ",p->data);
p=p->next;
}
}
void main()
{
struct stacknode *head;
head=InitialLinkList();
PushIntoStack(head,1);
ShowStackElement(head);
PushIntoStack(head,2);
ShowStackElement(head);
PushIntoStack(head,3);
ShowStackElement(head);
PopFromStack(head);
ShowStackElement(head);
PopFromStack(head);
ShowStackElement(head);
PopFromStack(head);
ShowStackElement(head);
PopFromStack(head);
ShowStackElement(head);
PopFromStack(head);
ShowStackElement(head);
}
#include<stdlib.h>
struct stacknode
{
int data;
struct stacknode *next;
};
//
struct stacknode * InitialLinkList ()
{
struct stacknode * head;
head=(struct stacknode *)
malloc(sizeof(struct stacknode ));//
head->next=NULL;
return head;
}
//入栈
void PushIntoStack(struct stacknode * head, int value)
{
struct stacknode * p;
p=(struct stacknode *)malloc(sizeof(struct stacknode ));
p->data=value;
p->next=head->next;
head->next=p;
}
void PopFromStack(struct stacknode * head)
{
struct stacknode * p;
if(head->next==NULL)
printf("Pop Failed \n");
else
{
p=head->next;
head->next=p->next;
free(p);
}
}
void ShowStackElement(struct stacknode *head)
{
struct stacknode * p;
p=head->next;
printf("\n显示栈中元素:\n");
while(p!=NULL)
{
printf(" %d ",p->data);
p=p->next;
}
}
void main()
{
struct stacknode *head;
head=InitialLinkList();
PushIntoStack(head,1);
ShowStackElement(head);
PushIntoStack(head,2);
ShowStackElement(head);
PushIntoStack(head,3);
ShowStackElement(head);
PopFromStack(head);
ShowStackElement(head);
PopFromStack(head);
ShowStackElement(head);
PopFromStack(head);
ShowStackElement(head);
PopFromStack(head);
ShowStackElement(head);
PopFromStack(head);
ShowStackElement(head);
}
分类:
[18] 数据结构与算法
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· Blazor Hybrid适配到HarmonyOS系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
· 分享4款.NET开源、免费、实用的商城系统
2007-09-17 2008秋季-计算机软件基础-循环链队列
2007-09-17 2008秋-计算机软件基础-循环顺序队列