数据结构
文章平均质量分 51
wtomjohnson
专注于linux,c,c++,欢迎大家与我交流。
展开
-
栈的顺序存储
#include<stdio.h>#include<stdlib.h>typedef int ElemType;#define MAXSIZE 20 //Create_SqStack(capacity)typedef struct SqStack{ ElemType data[MAXSIZE];//unsigned int *data int top;}SqStack;S原创 2015-03-25 15:23:57 · 303 阅读 · 0 评论 -
哈希表
欢迎大家访问我的微博:http://weibo.com/u/2887401030我们都知道,对于数组,查询容易,插入和删除较难。而对于链表,插入和删除容易,查询较难(线性查询)。那么有没有一种数据结构,插入,删除,查询都较为容易的呢?当然有,他就是这篇文章的主角——哈希表(散列表)。直接看代码:#include<iostream> #include<cstdlib>using namespace原创 2015-04-16 15:36:05 · 581 阅读 · 0 评论 -
快速排序
欢迎大家访问我的微博:http://weibo.com/u/2887401030快速排序的基本思想是:用过一趟排序将待排序的记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可对这两部分继续排序,已达到整个序列有序的目的。直接来看代码:#include<stdio.h>#include<stdlib.h>void printAll(int *a,int len){原创 2015-04-01 16:47:49 · 510 阅读 · 0 评论 -
二叉树
#include<stdio.h>#include<stdlib.h>typedef char ElemType;typedef struct BiTNode{ ElemType data; struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;void CreateBiTree(BiTree *T){ ElemType ch原创 2015-03-22 22:35:29 · 312 阅读 · 0 评论 -
线性表的链式存储
欢迎大家访问我的微博:http://weibo.com/u/2887401030#include<stdio.h>#include<stdlib.h>typedef int ElemType;typedef struct LinkListNode{ ElemType data; struct LinkListNode *next;}LinkListNode;typedef st原创 2015-03-24 17:42:27 · 308 阅读 · 0 评论 -
线性表的顺序存储
欢迎大家访问我的微博:http://weibo.com/u/2887401030#include<stdio.h>#include<stdlib.h>typedef int ElemType;#define MAXSIZE 20typedef struct SqList{ ElemType data[MAXSIZE]; int length;}SqList;SqList*原创 2015-03-24 16:23:17 · 298 阅读 · 0 评论 -
队列的链式存储
#include<stdio.h>#include<stdlib.h>#define MAXSIZE 20typedef int ElemType;typedef struct LinkQueueNode{ ElemType data; struct LinkQueueNode *next;}LinkQueueNode;typedef struct LinkQueue{原创 2015-03-26 15:06:40 · 292 阅读 · 0 评论 -
队列的顺序存储
#include<stdio.h>#include<stdlib.h>#define MAXSIZE 20typedef int ElemType;typedef struct SqQueue{ ElemType data[MAXSIZE]; int front; int rear;}SqQueue;SqQueue* Create_Queue(){ SqQ原创 2015-03-26 14:16:16 · 334 阅读 · 0 评论 -
栈的链式存储
#include<stdio.h>#include<stdlib.h>typedef int ElemType;#define MAXSIZE 20typedef struct LinkStackNode{ ElemType data; struct LinkStackNode *next;}LinkStackNode;typedef struct LinkStack{原创 2015-03-25 16:28:12 · 299 阅读 · 0 评论 -
堆排序
堆是具有下列性质的完全二叉树:每个结点的值都大于等于其走有孩子节点的值,称为大顶堆;或者每个结点的值都小于等于其走有孩子节点的值,称为小顶堆。再看堆排序。堆排序就是利用堆(假设是大顶堆)进行排序的方法。它的基本思路是将待排序的序列造成大顶堆。此时,整个序列的最大值就是堆顶的根节点。将他移走(其实就是将其与堆数组的末尾元素交换,此时末尾就是最大值),然后将剩余的n-1序列重新构造成一个堆,这样就原创 2015-03-30 21:04:48 · 442 阅读 · 0 评论