当前位置:
文档之家› 双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现(7)
双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现(7)
p=getNode(idx); 3、 newNode.prev.next=newNode;
p.prev=newNode;
精选ppt
5
输入节点数据具体操作
找到下标,对其进行赋值,再将其数据输进去
System.out.println("请输入各条边(顶点在数组中的下标)及边的权重: "); for(int i=0;i<edgeNumber;i++){
把有向图转换为矩阵输出
CSNode BFSTree(){} 广度优先生成树
levelOrder(CSNode root){} 层次遍历生成树
Void path(){}
处理俩点路径问题
int[][] floyd(){}
判断出是否存在路径
void Floyd(){}
俩点之间的最短路径
class CSNode<AnyType> 孩子兄弟链表二叉树节点类 class Ver<AnyType>图的定点类 class Arc<AnyType> 图的邻接点类
在已经构建节点类的前提下:构建CourseDesign双向循环链表类,并 在这儿创建一个头结点和尾节点。定义数组大小变量,以及链表的左右 节点为空。
精选ppt
4
插入第i个节点思路
首先要获取到要针对的节点
能操作,最后给 节点赋值。
位置然后 才
1、创建新节点newNode Node<AnyType> newNode=new Node<AnyType>(x,p.prev,p); 2、Node<AnyType> p;
public void addFirst(AnyType data){ add(0,data);
} public void addLast(AnyType data){
add(size(),data); }
精选ppt
Байду номын сангаас
8
就地逆置
具体思路:
1、定义一个临时节点;
Node<AnyType> tempnode = new Node<AnyType>();
2、折半查找对半交换节点的数值
精选ppt
9
图的创建及相关操作的实现
用图示的方法描述所处理的图的形态
V1
V2
V3
V4
精选ppt
10
针对所处理的图
精选ppt
11
设计思路
精选ppt
12
函数或类的具体定义和功能 Class Graph 主类
函数:
ver[] Create(){} 创建有向图;
Matrix(){}
数据结构课程设计
郭超
姓名:
学号:20121113019
班级:网络121班
精选ppt
1
课程设计题目:
一、双向循环链表;
二、图的创建及相关操作
精选ppt
2
操作要求:
1、建立一个空表; 2、插入第i个节点; 3、删除第i个节点; 4、插入第一个节点; 5、插入最后一个节点; 6、就地逆置
精选ppt
3
建立一个空表:
精选ppt
6
删除第i个节
remove
删除第i个节点,及插入i节点的逆操作,还是对于双 向循环链表,要在连续的三个节点ai-1,ai+1,p中删 除p节点只需要把ai-1的右链指针指向ai+1(ai+1左链 指向ai-1)收回p点就完成了
操作步骤演示:
精选ppt
7
插入固定节点
插入第一个节点; 插入最后一个节点; 上述操作调用插入的方法就可:
精选ppt
13
此课件下载可自行编辑修改,供参考! 感谢您的支持,我们努力做得更好!