
/***************常量定义及图的邻接表类型定义**************************/
#include #为空指针*/ #数组最大元素个数*/ typedef char VertexType[3]; typedef struct edgenode { int adjvex; /*邻接点序号*/ int value; /*边的权值*/ struct edgenode *next; /*下一条边的顶点*/ }每个顶点建立的单链表中结点的类型*/ typedef struct vexnode { VertexType data; /*结点信息*/ ArcNode *firstarc; /*指向第一条边结点*/ }单链表的头结点类型*/ typedef struct { int n,e; /*n为实际顶点数,e为实际边数*/ 单链表头结点数组*/ }图的邻接表类型*/ /**********************算法6.3:图的生成邻接表函数***********************/ int CreateAdjList(AdjList *g) { 顶点数(n),边数(e):"); 序号为%d的顶点信息:",i); 序号为边=>",i); 起点号 终点号 权值:"); 输入错误!"); } /***************算法6.4:输出图的邻接表函数*****************************/ void DispAdjList(AdjList *g) { 图的邻接表表示如下:\\n"); } /**************主函数********************************/ void main() { } /****************用邻接矩阵存储图后显示结果************************/ /************常量初始化及图的邻接矩阵类型定义***********************/ #include #define MAXVEX 100 /*图中最大顶点个数*/ t定义VertexType为char数组类型*/ typedef struct vertex { int adjvex; /*顶点编号*/ VertexType data; /*顶点的信息*/ }顶点类型*/ typedef struct graph { int n,e; /*n为实际顶点数,e为实际边数*/ VType vexs[MAXVEX]; /*顶点集合*/ 边的集合*/ }图的邻接矩阵类型*/ /*****************算法6.1:建立图的邻接矩阵函数*************/ int CreateMatix(AdjMatix *g) { 顶点数(n)和边数(e):"); 序号为%d的顶点信息:",i); 将邻接矩阵元素全部置0*/ 序号为%d的边=>",k); 起点号 终点号 权值:"); 输入行数,列数和权值*/ 将b行、t列权值存入邻接矩阵*/ 输入错误!"); } /*************算法6.2:输出邻接矩阵函数*****************************/ void DispMatix(AdjMatix g) { 图的邻接矩阵:\\n"); } /****************主函数**********************************/ void main() { 注意图中顶点序号从0开始,最大值为n-1. } 二叉树 #include "stdlib.h" #include "stdio.h" #include /* * 二叉树的定义,采用二叉链表作为存储结构 * Binarynode表示结点,Binarytree表示二叉链表头指针 */ typedef struct BinaryNode{ 数据域 左指针域 右指针域 }BinaryNode,*BinaryTree; /* * 出错时调用error,显示错误提示信息. */ void error(char *s){ fprintf(stderr,"%s\\n",s); exit(1); } /* * 根据输入的前序遍历串创建二叉链表,返回链表的头指针t. */ BinaryTree createTree(){ } /* * 中序遍历链表bt. */ void inOrderTraverse(BinaryTree bt){ } /* * 先序(前序)遍历链表bt. */ void preOrderTraverse(BinaryTree bt){ } /* * 后序遍历链表bt. */ void postOrderTraverse(BinaryTree bt){ } /* * 释放链表占用的空间. */ void freeTree(BinaryTree bt){ } /* * 主程序. */ void main(){ 输入前序遍历串:例如ABC##E#H##CF#IJ##K### 前序序列为:"); 中序序列为:"); 后序序列为:"); }
