压链栈与进链队列和创建线性表的关系
2016-06-12 08:56
671 查看
首先,来写下
1.线性表的头插法
进栈的代码
2.线性表的尾插法
链队列的入队
栈与队列的出现或者说是必然,也是偶然
1.线性表的头插法
void CreateFromHead(linklist *h) { lisklist *s; char c; c=getchar(); while(c!='$') { s=(linklist *)malloc(sizeof(linklist)); s->data=c; s->next=h->next; h->next=s; c=getchar(); } }
进栈的代码
int push(LinkStack *top,StackElemType x) { LinkStack *new; new=(LinkStack)malloc(sizeof(LinkStack)); if(new==NULL)return FALSE; new->data=x; new->next=top->next; top->next=new; return OK; }
2.线性表的尾插法
void CreateFromTail(LinkList *h) { LinkList *tail,*new; tail=h; char c=getchar(); while(c!='$') { new=(linklist *)malloc(sizeof(linklist)); new->data=c; tail->next=new; tail=new; c=getchar(); } tail->next=NULL; }
链队列的入队
int EnterQueue(LinkQueue *q,QueueElemType x){ LinkQueueNode *newnode; newnode=(LinkQueue*)malloc(sizeof(LinkQueue)); if(newnode==NULL) return FALSE; newnode->data=x; newnode->next=NULL; q->rear->next=newnode; q->rear=newnode; return OK; }
栈与队列的出现或者说是必然,也是偶然
相关文章推荐
- 如何组织构建多文件 C 语言程序(二)
- 如何写好 C main 函数
- Lua和C语言的交互详解
- C#线程队列用法实例分析
- 算法系列15天速成 第九天 队列
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- C++基于栈实现铁轨问题
- C语言编程中统计输入的行数以及单词个数的方法
- C语言自动生成enum值和名字映射代码
- C语言练习题:自由落体的小球简单实例
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- C语言中进制知识汇总
- C语言判断一个数是否是2的幂次方或4的幂次方