C 队列之数据结构
2013-04-16 09:46
113 查看
#include<stdio.h>
#include<stdlib.h>
typedef struct List
{
int * elem;
List * next;
}Note,*Link;
typedef struct Sqr
{
Link front;
Link rear;
}sqr;
void init(sqr &s)
{
s.front=s.rear=(Link)malloc(sizeof(Note));
if(!s.front) exit(0);
s.front->next=NULL;
}
void creat(sqr &s)
{
int i;
for(i=0;i<5;i++)
{
Link p=(Link)malloc(sizeof(Note));// 尼玛 坑爹呀 弄了半天就是分空间出错了(如果把这句放在for循环外面 那么每次赋值就把上次的覆盖了 地址就只有这么一个嘛 )
if(!p) exit(0);
scanf("%d",&p->elem);
p->next=NULL;
s.rear->next=p;
s.rear=p;
}
}
void display(sqr &s)
{
printf("头为: %d\n",s.front->next->elem);
}
void main()
{
sqr s;
init(s);
creat(s);
display(s);
}
#include<stdlib.h>
typedef struct List
{
int * elem;
List * next;
}Note,*Link;
typedef struct Sqr
{
Link front;
Link rear;
}sqr;
void init(sqr &s)
{
s.front=s.rear=(Link)malloc(sizeof(Note));
if(!s.front) exit(0);
s.front->next=NULL;
}
void creat(sqr &s)
{
int i;
for(i=0;i<5;i++)
{
Link p=(Link)malloc(sizeof(Note));// 尼玛 坑爹呀 弄了半天就是分空间出错了(如果把这句放在for循环外面 那么每次赋值就把上次的覆盖了 地址就只有这么一个嘛 )
if(!p) exit(0);
scanf("%d",&p->elem);
p->next=NULL;
s.rear->next=p;
s.rear=p;
}
}
void display(sqr &s)
{
printf("头为: %d\n",s.front->next->elem);
}
void main()
{
sqr s;
init(s);
creat(s);
display(s);
}
相关文章推荐
- 数据结构实验之队列一:排队买饭
- 数据结构——栈和队列
- 数据结构与算法--优先队列和堆排序
- 数据结构之栈与队列
- 数据结构之队列(二)——链队列
- 六、数据结构基础之链队列C语言实现
- [javaSE] 数据结构(队列)
- 数据结构与实现——数组、矩阵、链表、队列、栈、对象、二叉树和红黑树
- 数据结构实验之队列一:排队买饭
- 数据结构之表(7)队列的顺序实现
- SDUT 2135 数据结构实验之队列一:排队买饭
- 数据结构之 队列 链表表示与数组表示
- 寒假第三天--栈和队列--传说中的数据结构
- C#数据结构之队列
- C语言 数据结构之栈与队列 数据结构实验之栈与队列一:进制转换
- 数据结构基础(14) --链式队列的设计与实现
- 【数据结构1 栈队列堆并查集】qbxt精英班
- 数据结构之队列和栈的使用
- 数据结构—队列小结
- 数据结构(1)-堆栈,队列的实现