数据结构
文章平均质量分 79
u010525281
这个作者很懒,什么都没留下…
展开
-
图的邻接表创建和深度优先搜索
注意:定义的单链表中的节点类型时,int adjvex 指向的是顶点的位置,而不是顶点的值#include#includeusing namespace std;typedef struct ArcNode { int adjvex; //该边指向的顶点在顺序表中的位置,是位置不是值的大小。 struct A原创 2016-04-12 10:58:10 · 377 阅读 · 0 评论 -
顺序表1-1
注意:len必须为加*,因为数据长度是随着插入或者删除是会变的,只有把len声明为指针型,才会一起变。#include"stdio.h"#define MaxSize 10void inserElem(int sqlist[], int *len, int i, int x){ int t; if (*len == MaxSize || i*le转载 2016-04-09 14:55:29 · 283 阅读 · 0 评论 -
顺序表1.2
编写一个程序,动态地创建一个顺序表。要求:顺序表初始长度为10,向顺序表中输入15个整数,并打印出来;再删除顺序表中的第5个元素,打印出删除后的结果。注意:realloc的用法:动态内存调整指针名=(数据类型*)realloc(要改变内存大小的指针名,新的大小)。头文件:#include stdlib.h> 有些编译器需要#include ,在TC2.0中可以使用alloc.h原创 2016-04-09 15:46:15 · 262 阅读 · 0 评论 -
链表
编写一个程序,要求:从终端输入一组整数,以0作为结束标志,将这一组整数存放在一个链表中(结束标志0不包括在内),打印出该链表中的值,然后删除该链表中的第五个元素,打印出删除后的结果。最后在内存中释放掉该链表。#include"stdio.h"//#include"conio.h"#include#includeusing namespace std;原创 2016-04-10 09:21:59 · 571 阅读 · 0 评论 -
栈
注意:为什么出栈函数的第二个参数是指针类型? //如果出栈函数的第二个参数不是指针类型, // 则c的值是不变的,即c还是原来定义时的c,不是从栈里出来的c //即每次都是(c-48)=-13;只有用指针,传递地址,才能改变这个值 //让c不再是原来的c,而是从栈里出来的c。#include#include"math.h"#include原创 2016-04-10 10:42:58 · 210 阅读 · 0 评论 -
队列
注意:头结点不是用来存放数据的,而是为了操作方便人工添加的。#include#includeusing namespace std; typedef char ElemType;typedef struct QNode { ElemType data; struct QNode* next;};typedef stru原创 2016-04-10 15:48:04 · 193 阅读 · 0 评论 -
二叉树
注意:二叉树的二级指针:因为是创建二叉树是用的递归,假如第一个建立的是根节点,然后递归创建左右孩子,也就是指针在改变,而要想改变指针,就得传递二级指针。不知道对不对。创建二叉树,并遍历它,并且找出D在第几层?#include#includeusing namespace std;typedef struct BitNode {原创 2016-04-11 20:33:01 · 210 阅读 · 0 评论