C语言-数据结构
tellsummer
这个作者很懒,什么都没留下…
展开
-
C语言实现二叉树的递归和非递归算法的基本操作
#include<stdio.h>#include<stdlib.h>#define STACKINITSIZE 100#define STACKINCREASESIZE 20typedef char ElemType;//树结构typedef struct tree{ ElemType data; struct tree * lchild; struct tree原创 2016-11-26 22:33:14 · 1241 阅读 · 0 评论 -
c语言线性表的链式表示和实现
/*线性表的链式存储实现*/#include<stdio.h>#include<stdlib.h>#include<malloc.h>typedef struct node{ int data; struct node *next;}Node,*pNode;//创建一个带头节点的空单链表pNode CreateListHead(void){ pNode L =原创 2016-12-26 15:36:49 · 7127 阅读 · 2 评论 -
C语言链式栈的操作和实现
栈是限定仅在表尾进行插入或删除的线性表; 后进先出 代码如下:#include<stdio.h>#include<stdlib.h>#include<malloc.h>//定义一个节点的结构typedef struct node{ int data; struct node *pNext;}Node,*pNode;//定义栈结构typedef struct sta原创 2016-12-27 14:35:12 · 4912 阅读 · 3 评论 -
C语言固定大小的栈的操作
代码如下#include"stdio.h"#include"malloc.h"#include"string.h"#define Maxsize 100typedef int datatype;typedef struct{ datatype stack[Maxsize]; int top;}SqStack;SqStack *InitStack(){ SqSta原创 2016-12-27 20:39:44 · 946 阅读 · 0 评论 -
C语言实现二叉树的基本操作
代码如下#include<stdio.h>#include<stdlib.h>//二叉树的节点定义typedef struct TreeNode{ char ch; //数据域 struct TreeNode *lchild; //左孩子 struct TreeNode *rchild; //右孩子}BTNode,*PBTNod原创 2016-12-27 20:43:56 · 869 阅读 · 0 评论 -
C语言固定大小的线性表的简单实现
#include<stdio.h>//定义固定大小线性表typedef struct{ int elem[100]; int lenght;}SqList;//初始化int InitList(SqList &L){ L.lenght = 0; return 1;}//插入int ListInsert(SqList &L,int i,char e){原创 2016-12-28 15:46:27 · 436 阅读 · 0 评论 -
C语言顺序表中删除值为x的元素
要求时间复杂度为O(n)、空间复杂度为O(1) 实现代码如下//删除线性表中为x的元素void deleteX(SqList L,int x){ int k=0; for(i=0;i<L.lenght;i++){ if(L.elem[i]!=x){ L.elem[k]=L.elem[i]; k++;原创 2016-12-28 15:50:22 · 9431 阅读 · 3 评论 -
c语言实现二叉树的基本操作
#include<stdlib.h>//二叉树的节点定义typedef struct TreeNode{ char ch; //数据域 struct TreeNode *lchild; //左孩子 struct TreeNode *rchild; //右孩子}BTNode,*PBTNode;//先序构造二叉树void creat原创 2016-11-26 22:31:02 · 10656 阅读 · 2 评论