本分类是用c语言实现主流的数据结构,并且附上了一些常见的应用来帮助理解数据结构。
使用双向链表实现队列
摘要:队列是常见的数据结构,特点是:从头删除,从尾加入。本文使用双向链表实现队列,具体代码如下: 1 #include<stdlib.h> #inlcude<stdio.h> 2 #define new(type) (type*)malloc(sizeof(type)) 3 typedef struct ListNode{ 4 int data; 5 struct ListNode *lLink; 6 struct ListNode *rLink; 7 }Queue; 8 Queue* Insert(Queue *tail,int x){ 9 Queue* ptr...
阅读全文
posted @
2013-04-29 19:09
Licious
阅读(518)
推荐(0)
使用循环链表实现约瑟夫问题——关于free()的思考
摘要:问题介绍:M个人围成一圈,从第一个开始报数,第N个将被杀掉,最后剩下一个,其余人都将被杀掉。例如M=6,N=5,被杀掉的人的序号为5,4,6,2,3。最后剩下1号。这里使用循环链表数据结构实现,代码如下: 1 #include<stdlib.h> #include<stdio.h> 2 #define new(type) (type*)malloc(sizeof(type)) 3 typedef struct _LinkNode{ 4 int number; 5 struct _LinkNode *next; 6 }LinkNode; 7 Josephus(LinkNo
阅读全文
posted @
2013-04-29 19:05
Licious
阅读(230)
推荐(0)
C 链表实现多项式
摘要:原来文章是用于转载,随笔才是原创,好吧,那发过来吧。第一篇文章,如题用链表实现了多项式,包括输入、输出和三种运算。这次代码主要遇到两个问题:scanf的连续调用,以及一个神奇的很不科学的bug——i的初始化问题代码贴下来如下://本程序使用C语言创建一个链表来表示多项式//多项式按照升序进行排列//实现多项式的加、减、乘三个运算#include<stdlib.h>#include<stdio.h>#define new(type) (type*)malloc(sizeof(type))typedef struct _Term Term;struct _Term{ flo
阅读全文
posted @
2013-04-21 23:30
Licious
阅读(309)
推荐(0)