
数据结构(C语言版)
文章平均质量分 68
寻隐者不遇2016
这个作者很懒,什么都没留下…
展开
-
【数据结构】静态循环队列的操作
静态循环队列的操作 详细请参考以下代码:#include #include #define MAX_SIZE 100typedef struct { int front; int rear; int data[MAX_SIZE];}Queue;// 循环队列void initQueue(Queue * sq);void DestoryQueue (Queue * s原创 2014-02-27 09:45:12 · 878 阅读 · 0 评论 -
【数据结构】 利用栈实现进制转换
利用栈 转换进制 碰到 大于 10的进制 需要在进栈元素处做相应的处理/***// 数制 转换问题 所得商 入栈 计算完毕后 出栈 即为所得InitStack ( &S) : 栈的初始化Push ( &S, e) :进栈Pop (&S ) : 出栈GetTop (S ): 取栈顶元素IsEmpty (S): 判栈空否***/#include #include原创 2014-02-24 14:39:33 · 1445 阅读 · 0 评论 -
【数据结构】 三元组的转置
#include #define maxsize 100//三元组结点:typedef int datatype;typedef struct{ int x; int y; datatype value;} Triple;//稀疏矩阵:typedef struct { Triple data[maxsize]; int row; int val; int n原创 2014-02-28 15:24:37 · 1573 阅读 · 0 评论 -
【数据结构】链式栈的操作
#include "LinkStack.h"typedef struct LinkStack{ LinkStack *link; ElemType elem;}* PLinkStack;void InitStack(PLinkStack L); PLinkStack Push(PLinkStack L,ElemType i); PLinkStack Pop(PLinkSta原创 2014-02-24 11:51:20 · 873 阅读 · 0 评论 -
【数据结构】双链表的演示
双链表 实现增加、删除、修改功能#include #include typedef struct Data{ Data *prior; // 前驱指针 Data *next; // 后继指针 int elem; // 数据元素}DoubleLinked,*PDoubleLinked;void DisDoubleLinked(PD原创 2014-02-17 10:56:58 · 892 阅读 · 0 评论 -
【数据结构】 约瑟夫回环 代码
设有n个人围坐在圆桌周围,现从某个位置m(1≤m≤n)上的人开始报数,报数到k的人就站出来。下一个人,即原来的第k+1个位置上的人,又从1开始报数,再报数到k的人站出来。依此重复下去,直到全部的人都站出来为止。试设计一个程序求出出列序列。 #include #include typedef struct Data{ Data *next; // 指针 int原创 2014-02-14 17:08:21 · 2079 阅读 · 0 评论 -
【数据结构】二叉树的递归遍历
#include #include typedef char ElemType;typedef struct BiTree{ ElemType Elem; BiTree * LChild; BiTree * RChild;}BiTree,*PBiTree;/*建立二叉树*/PBiTree CreateBiTree();/*先序遍历二叉树*/v原创 2014-03-07 16:33:36 · 902 阅读 · 0 评论 -
【数据结构】二叉树的操作2
#include #include typedef char ElemType;typedef struct BiTree{ ElemType elem; BiTree * LChild; BiTree * RChild;}BiTree,* PBiTree;/*先序顺序创建二叉树*/PBiTree CreateBiTree();/*先序顺序遍历二叉树*/void原创 2014-03-09 16:40:33 · 823 阅读 · 0 评论 -
【数据结构】 二叉树 非递归遍历
二叉树 非递归遍历 以下是我自己的一些写法,由于本人修行尚浅,因此代码难免有不当之处,如有发现,敬请指出,如有雷同纯属巧合。 先序遍历:/* 先序遍历 * 思路: 先输出根 并一直寻找左子树,同时,若存在右子树,则右子树入栈。 * 找完所有的左子树之后,栈顶出栈,重复上述工作,一直到栈空为止。 * */void PreOrderTraverse(PBiTree原创 2014-03-17 18:48:53 · 837 阅读 · 0 评论 -
【数据结构】二叉树的层次遍历
#include #include #define MAX_SIZE 100typedef char ElemType;typedef struct BiTree{ ElemType elem; BiTree* LChild; BiTree* RChild;}BirTree,*PBiTree;typedef struct Queue{ i原创 2014-03-10 11:08:12 · 1086 阅读 · 0 评论 -
【数据结构】动态顺序栈的增删改查
#include #include #define INITIAL_STACK_SIZE 100#define INCREASE_STACK_SIZE 10 // 大于一个元素的内存大小typedef int ElemType;typedef struct Stack{ ElemType *top; ElemType *base; int stacksize; //原创 2014-02-21 17:44:41 · 1121 阅读 · 0 评论 -
【数据结构】 简单静态顺序栈的操作
/***顺序栈InitStack ( &S) : 栈的初始化DestoryStack(&S) : 销毁栈SPush ( &S, e) :进栈Pop (&S ) : 出栈GetTop (S ): 取栈顶元素IsEmpty (S): 判栈空否***/#include #include #define STACK_MAX 1000typedef struct Stack原创 2014-02-18 16:03:55 · 1132 阅读 · 0 评论 -
【数据结构】 链式队列的一些操作
详细见代码:#include #include typedef struct ElemType{ int data; ElemType *next;}ElemType; // next 是 元素的指针 指向下一个元素的位置typedef struct{ ElemType *front; ElemTyp原创 2014-02-27 17:58:11 · 818 阅读 · 0 评论 -
【数据结构】 利用栈求解 括号匹配问题
括号是否匹配问题求解以下为源码:/***// 括号匹配问题InitStack ( &S) : 栈的初始化DestoryStack(&S) : 销毁栈SPush ( &S, e) :进栈Pop (&S ) : 出栈GetTop (S ): 取栈顶元素IsEmpty (S): 判栈空否***/#include #include #define STACK_MAX 1原创 2014-02-24 14:06:27 · 1829 阅读 · 2 评论 -
【数据结构】 稀疏矩阵 转换成三元组
# include # define maxsize 100//三元组结点:typedef int datatype;typedef struct{ int x; int y; datatype value;} Triple;//稀疏矩阵:typedef struct { Triple data[maxsize]; int row; int val; int原创 2014-02-28 14:54:25 · 4984 阅读 · 0 评论 -
【字符串】朴素串匹配
#include void main(){ int i = 0; int j = 0; int result = 0; bool suit = false; char *a = "ABDDADSDDFS0"; char *b = "DDF"; while (*(a+i) != '\0') { if (*(a+i) == *b) { j = 0; resu原创 2014-02-28 10:40:47 · 675 阅读 · 0 评论 -
【数据结构】单链表的增删改查
单链表的增删改查实例:#include #include typedef struct LinkedList{ int elem; LinkedList * next;}List,* PList;PList CreateLinkedList(int size);void DisplayLinkedList(PList L);void InsertLinkedList(PL原创 2014-02-13 19:26:29 · 1152 阅读 · 0 评论 -
【数据结构】 循环单链表 约瑟夫回环问题
123转载 2014-02-14 15:43:40 · 3096 阅读 · 1 评论 -
【数据结构】利用栈 求解表达式
表达式求值问题,其中运算符号只包含 加减乘除 取整数 详细请参见代码:#include #define MAX_SIZE 100typedef struct { int top; char data[MAX_SIZE];}NumStack;typedef struct { int top; char opera[MAX_SIZE];}OperaStack;原创 2014-02-26 15:10:09 · 1038 阅读 · 0 评论 -
【数据结构】顺序表的增删改查
简单顺序表的增删改查实例:#include #define MAX 100typedef struct {int length;int data[MAX];}Sqlist,*PSqlist;void initList(PSqlist p);void insertList(PSqlist p,int elem);void deleteList(PSqlist p,int locate);void原创 2014-02-13 19:24:38 · 1717 阅读 · 0 评论 -
【数据结构】 双循环链表代码演示
#include #include typedef struct Data{ Data *prior; // 前驱指针 Data *next; // 后继指针 int elem; // 数据元素}DoubleLinked,*PDoubleLinked;void DisDoubleLinked(PDoubleLinked L);v原创 2014-02-17 11:21:55 · 720 阅读 · 0 评论 -
【数据结构】二叉树的层次遍历2
#include#includetypedef char DataType;//树结点的数据类型定义typedef struct BTnode{ DataType data; struct BTnode* lchild,*rchild;}BTree;//队列的结点数据类型定义typedef struct node{ BTree * tdata; //存放树转载 2014-03-10 11:23:26 · 894 阅读 · 0 评论