
Data Structure
lingang_
coding
展开
-
一元多项式的相加运算
算法是对两个单链表进行求和运算,挺简单的一个单链表的应用。#include #include typedef struct Polynode{ int coef; //系数 int exp; //指数 Polynode *next;}Polynode,*Polylist;Polylist Polycreate() //构造多项式链表{ Polynode *head,*rear,*s; in原创 2008-02-02 12:26:00 · 1073 阅读 · 0 评论 -
c语言指针详解
网上看到一篇文章,关于指针的,收获很大,适合初学者看看。 一。指针的概念 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。 先声明几个指针放着做例子: 例一: (1)int *ptr; (2)ch原创 2008-01-05 19:10:00 · 1123 阅读 · 0 评论 -
中序遍历二叉树的非递归算法
花了一点时间,将书本上中序遍历二叉树的非递归算法的伪代码翻译成纯c的可执行程序,算法要结合栈和树的基本操作函数。程序在vc6.0下调试通过。代码如下: #include stdio.h>#include stdlib.h>#define STACK_INIT_SIZE 100#define STACKINCREMENT 10#define OVERFLOW -2#d原创 2008-02-19 21:53:00 · 4183 阅读 · 0 评论 -
按树状打印二叉树
代码是为了实现二叉树的横向显示问题。这种树形要求先打印右子树,再打印根,最后打印左子树,顺序恰为逆中序顺序。这种输出格式,结点的左右位置与结点的层深有关,故算法中设置了一个表示当前根节点层深的参数,以控制输出结点的左右位置。示意图:代码如下: #include stdio.h>#include stdlib.h>#define OVERFLOW -2#define INFE原创 2008-02-19 19:21:00 · 16913 阅读 · 4 评论 -
用二级指针求解二叉树根节点
写了这个算法,总算有点理解二级指针了。 #include stdio.h>#include stdlib.h>#define OVERFLOW -2#define INFEASIBLE -1#define ERROR 0#define OK 1#define TRUE 1#define FALSE 0typedef int TElemType;TElemType Nil=0;typed原创 2008-02-18 17:50:00 · 957 阅读 · 0 评论 -
用栈的结构求解迷宫
过年忙了一阵,终于可以静下心来写点算法了,这个迷宫算法写出来本来有个问题存在,我看了半天还是找不出,后来一单步调试就找到症结所在,不得不让我感叹:调试好啊~~~~ #include stdio.h>#include stdlib.h>#define STACK_INIT_SIZE 100#define STACKINCREMENT 10#define OVERFLOW -原创 2008-02-14 23:34:00 · 880 阅读 · 0 评论 -
打印杨辉三角
代码没有考虑杨辉三角的输出格式,代码如下: #include stdio.h>#include stdlib.h>#define OVERFLOW -2#define INFEASIBLE -1#define ERROR 0#define OK 1#define TRUE 1#define FALSE 0#define MAXQSIZE 10typedef int QElemType;原创 2008-02-17 15:41:00 · 705 阅读 · 0 评论 -
小议指针(转自刺猬小屋)
1.指针与引用C++引入了参数引用机制,从而在一定程度上避免了对指针过多的纠缠,不过引用的机制掩盖了初学者对于指针的迷茫,但是这对真正想做技术来说不一定是好事。下面是C++的一个引用调用:void f(int ¶meter ) { parameter =3; }int main(){ int a=0; f(a);转载 2008-02-19 11:26:00 · 906 阅读 · 0 评论 -
键盘输入循环缓冲区问题
#include #include #include #define OVERFLOW -2#define INFEASIBLE -1#define ERROR 0#define OK 1#define TRUE 1#define FALSE 0#define MAXQSIZE 10typedef char QElemType;struct SqQueue{ QElemType *base; in原创 2008-02-17 15:43:00 · 3383 阅读 · 3 评论 -
算术表达式求值
写了个算术表达式求值,有些缺陷,输入运算数时只能输入0~9。 #include stdio.h>#include stdlib.h>#define STACK_INIT_SIZE 100#define STACKINCREMENT 10#define OVERFLOW -2#define INFEASIBLE -1#define ERROR 0#define OK 1#define T原创 2008-02-07 21:28:00 · 1210 阅读 · 0 评论 -
c语言括号匹配算法
#include #include #define STACK_INIT_SIZE 100#define STACKINCREMENT 10#define OVERFLOW -2#define INFEASIBLE -1#define ERROR 0#define OK 1typedef char SElemType;typedef struct { SElemType *base; SElemT原创 2008-02-05 16:12:00 · 4601 阅读 · 3 评论 -
指针的指向问题
最近开始复习数据结构,写了个测试程序时发现了一个问题。typedef struct lnode{ int data; struct lnode *next;}lnode,*linklist;int main(){lnode L; Initlist(&L);...}void Initlist(linklist pL){ pL=(linklist)malloc(sizeof原创 2008-01-18 19:57:00 · 542 阅读 · 1 评论