
数据结构
文章平均质量分 72
sbaban
珍惜大学时光,充实自己,争取保研,不要让某些人失望,不要忘记你的承诺。
滴水之恩当涌泉相报。
已成功保研,csdn不再更新,新博客www.sbaban.com
展开
-
哈夫曼编码横向打印
#include<stdio.h> #include<stdlib.h> #include<Windows.h>#define MAXSIZE 30 typedef struct{ char data; float weight; int parent; int lchild; int rchild;}HTNode;typedef stru原创 2016-03-19 20:54:36 · 2842 阅读 · 0 评论 -
栈顺序存储&链式存储
1.栈的顺序存储#include#include#define MAX 20typedef struct SqStack{ int elem[MAX]; int top;//栈顶指针}SqStack;SqStack *Init_SqStack(){ SqStack *S; S = (SqStack *)malloc(sizeof(SqStack)); if (S)原创 2015-09-25 09:12:20 · 592 阅读 · 0 评论 -
栈的应用
进制转换void Conversion(SqStack *S){ int N,e; printf("输入要转换的十进制数\n"); scanf("%d",&N); while(N) { S=Push(S,N%8); N=N/8; } printf("二进制为:"); while(!StackEmp原创 2015-10-16 23:14:19 · 549 阅读 · 0 评论 -
二叉树的基本操作
#include#include#define TElemType char#define Status int#define OK 1typedef struct BiTNode{ TElemType data; struct BiTNode *lchild, *rchild;}BiTNode, *BiTree;Status Create(BiTree *T){ TEle原创 2015-11-10 23:49:05 · 605 阅读 · 0 评论 -
查找
1.二叉排序树#include#include#define Status inttypedef struct BiTNode{ int data; struct BiTNode *lchild, *rchild;}BiTNode,*BiTree;Status SearchBST(BiTree T, int key, BiTree f, BiTree *p){//在根指针T原创 2015-12-17 19:22:56 · 444 阅读 · 0 评论 -
队列
1.循环队列为了防止“假溢出”,采用循环队列#include#include#define ElemType int#define MAX 5#define Status int#define OK 1typedef struct{ ElemType data[MAX]; int front;//头指针 int rear;//尾指针}SqQueue;Status原创 2015-10-17 17:08:59 · 444 阅读 · 0 评论 -
图
1.图的数组表示法//无向图#include#include#define INFINITY 999#define MAX_VERTEX 20#define char VertexType //顶点类型#define int EdgeType //边上的权值类型typedef struct { VertexType vexs[MAX_VERTAX];//顶点表 EdgeT原创 2015-12-02 01:06:15 · 909 阅读 · 0 评论 -
数组和广义表
#include#include#define MAXSIZE 100#define Status inttypedef struct{ int i, j;//非零元的行下标和列下标 int e;}Triple;typedef struct{ Triple data[MAXSIZE + 1];//非零元的三元组表,data[0]未用 int mu, nu, tu;//矩阵中原创 2015-10-30 09:17:52 · 494 阅读 · 0 评论 -
串,模式匹配Index
#include#include#include#define MAXSIZE 40#define OK 1#define Status inttypedef char SString[MAXSIZE+1]//0号单元存放串的长度Status StrAssign(SString T,char *chars)//生成一个其值等于chars的子串{ i原创 2015-10-27 20:01:24 · 722 阅读 · 0 评论 -
双向链表,链表求A与B差集,链表多项式相加,静态链表
集合A用单链表La表示,集合B用单链表Lb表示,设计算法求A与B两个集合的差,即A-B分析:A-B即属于A而不属于B的元素,对集合A的每个元素x,在集合B中进行查找,如果存在与x相同的元素,删除x在A中的结点。#include#includetypedef struct Lnode{ int data; struct Lnode *next;}Lnode;st原创 2015-09-23 23:10:13 · 1300 阅读 · 0 评论 -
线性表排序
1.顺序表 #include #include #define MAX 20 typedef struct { int elem[MAX]; int length; }Seqlist; Seqlist Initlist()//顺序表的初始原创 2015-10-22 20:55:15 · 2737 阅读 · 0 评论 -
线性表(顺序存储,链式存储)
#include#include#define MAX 20#define ELEMTP int#define v (*p)struct node{ ELEMTP data; struct node *next;};int n = 0;//计数struct node *create(void)//尾插法建立链表{ struct node *head, *p, *s;原创 2015-09-18 09:26:42 · 817 阅读 · 0 评论 -
排序
void maopao(int a[]) {//简单的冒泡排序 int i, j,temp,n=10; for (i = 1; i < n;i++) for (j = 0; j < n - i; j++) { if (a[j]>a[j + 1]) { temp = a[j]; a[j] = a[j原创 2015-12-25 17:49:09 · 441 阅读 · 0 评论