
数据结构
文章平均质量分 74
hello&Code
贵有恒何必三更起五更睡;最无益,只怕一日曝十日寒
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
三元表的链式存储(十字链表)及顺序存储时一些问题。
链式存储: typedef struct OLNode { int i,j; ElemType e; struct OLNode *right,*down; }OLNode;*OLink; typedef struct { OLink *rhead,*chead; int mu,,nu,tu; }CrossList; M.rhead=(OLink *)malloc((m...原创 2018-08-15 11:22:03 · 645 阅读 · 0 评论 -
三元组顺序表存储
#include <stdio.h> #include <stdlib.h> #define maxsize 100 typedef struct { int i, j; char v; } str; typedef struct { str *data; int row, col, count; //矩阵的行数,列数,和非零元素个数 } Array...原创 2018-08-14 21:53:03 · 4751 阅读 · 0 评论 -
链表队的创立与遇到的问题。
typedef struct Node { int data; struct Node *next; }Qnode; typedef struct { Qnode *front,*rear; }Linkqueue; Linkqueue *Q; 头尾指针是属于一个结构体,相当于一个结构体有这两个值。 开辟内存: Q=(Linkqueue *)malloc(sizeof(Qno...原创 2018-08-12 15:34:20 · 201 阅读 · 0 评论 -
指针(指针作为输出型参数)与结构体指针作为函数参数(树),以及函数内存
点击打开链接 #include<stdio.h> #include<stdlib.h> void swap(int *b) { printf("%p\n",b); printf("%p\n",&b); b=(int *)malloc(sizeof(int)); printf("%p\n",b); printf("%p\n",&b); } i原创 2018-01-04 20:31:55 · 512 阅读 · 0 评论 -
正确使用指针(指针作为输出型参数)与结构体指针作为函数参数
一个问题是,我们想用一个函数来对函数外的变量v进行操作,比如,我想在函数里稍微改变一下这个变量v的值,我们应该怎么做呢?又或者一个常见的例子,我想利用swap()函数交换两个变量a,b的值,我们应该怎么做呢(好吧,博主是觉得这个问题十分经典)。 如果你真的理解【函数】这个工具的本质,我想你稍微仔细的思考一下,可能就不会来查看博主的这篇文章,对函数来说,它所传递的任何参数仅仅是原来参数的一个拷贝,...转载 2018-01-03 17:16:56 · 1844 阅读 · 0 评论 -
线索(中序)二叉树
在二叉树中,其实每个结点都可以看成是一个根节点,所以在线索二叉树中寻找后继和前驱的时候,前驱就是在访问结点之前的结点,(在中序中)结点的前驱遍历他的左子树最后一个的结点,后继就是他遍历右子树访问第一个结点...原创 2017-12-24 21:22:55 · 309 阅读 · 0 评论 -
dfs深度优先收搜
例题:二叉树的先序排列:{printf(" %d",p->data); preorder(p->lchild)//左孩纸; preorder(p->rlchild);//右孩纸} 我的理解就是: 相当于:二个函数(递归)就相当于每次有二个选择向左和向右;函数的前后顺序决定了左右的排序;例如这二个函数就是左走完,然后右 ...原创 2017-12-11 21:53:08 · 147 阅读 · 0 评论 -
二叉树的遍历
二叉树的遍历【 详细讲解 】 原创 2016年10月18日 17:04:53 1742 二叉树的遍历 一共有4种遍历 先看图,对于这个图进行4种遍历的讲解 1、 先序遍历 定义:若二叉树为空,则空操作;否则 (1)访问根节点(2)先序遍历左子树(3)先序遍历右子树 根据定义我需要解释一下,定义很简单,其实定义是对于每一 子树而言的,我们先遍历A然后B,这...转载 2017-12-11 16:10:01 · 134 阅读 · 0 评论