随笔分类 -  数据结构——C语言实现

摘要:#include#includeusing namespace std;void getNext(char const*T,int len,int *next){ int i =0,j=-1; next[i] = -1; while(i<len) { if(j ... 阅读全文
posted @ 2014-06-21 15:53 平林新袖 阅读(197) 评论(0) 推荐(0) 编辑
摘要:/*数序栈*/#include#include#include#define SElemType char#define STACK_INIT_SIZE 100#define STACK_INCREMENT 10#define OK 1#define ERROR -1#define Status int#define OVER -1/*栈空 top == base**栈满 top-base = stacksize***/typedef struct{ SElemType *base; SElemType *top; int stacksize; int lengt... 阅读全文
posted @ 2013-12-24 15:55 平林新袖 阅读(316) 评论(0) 推荐(0) 编辑
摘要:/*创建一个链表,尾结点插入法*/#include#include#define DataType char/*节点类型*/typedef struct node{ DataType data; struct node *next;}ListNode,*LinkList;/**不带头结点*尾插入法的实现*从头结点读取的时候,就是按照输入顺序读出的*/LinkList createLinkList(){ DataType ch; LinkList p,head,rear; head = rear = NULL; /*读取元素*/ puts("输入节点的数... 阅读全文
posted @ 2013-12-21 15:00 平林新袖 阅读(831) 评论(0) 推荐(0) 编辑
摘要:#include#include#define ListSize 100typedef int DataType;typedef struct{ DataType *data; int length; int size;} Sqlist;void initSqlist(Sqlist *L){ L->data = (void*)malloc(ListSize * sizeof(int)); if(! L->data) exit(0); L->length = 0; L->size = ListSize;}/*在顺序表的i位置插入元素*/void insertSqlist( 阅读全文
posted @ 2013-12-21 14:59 平林新袖 阅读(2220) 评论(0) 推荐(0) 编辑
摘要:结点类型:typedef int datatype;typedef struct NODE{ datatype data; struct NODE *next; }Node,*LinkList;1、不带头结点的头插入法创建链表。 每创建一个结点,都使该结点成为头结点,这样头结点不断地向前移动,就可以创建一个没有特定头结点的链表。 首先创建的结点,会出现在整个链表的最末端,所以数据的写入是逆序的。 【开始的时候,head要初始化为NULL】LinkList LinkListCreate(const int n){ int i; LinkList head; Node... 阅读全文
posted @ 2013-10-25 16:09 平林新袖 阅读(42421) 评论(2) 推荐(2) 编辑