当前位置: 首页 > news >正文

微分销系统价格企业关键词排名优化哪家好

微分销系统价格,企业关键词排名优化哪家好,外贸网站建设平台哪个好,核酸收费?例题 根据下列顶点之间的关系#xff0c;画出相应的图结构 A - B, C, D B - A, C, C - A, D, E, D - B, E, E - C, 数据结构#xff1a;使用邻接表表示图#xff0c;每个顶点有一个链表来存储与它相邻的顶点。 功能#xff1a; 创建图。 添加边。 打…例题 根据下列顶点之间的关系画出相应的图结构 A - B, C, D B - A, C, C - A, D, E, D - B, E, E - C, 数据结构使用邻接表表示图每个顶点有一个链表来存储与它相邻的顶点。 功能 创建图。 添加边。 打印邻接表。 执行广度优先搜索BFS。 #include stdio.h // 包含标准输入输出库 #include stdlib.h // 包含标准库函数如 malloc 和 free// 定义链表节点结构体 typedef struct ListNode {int value; // 节点的值struct ListNode* next; // 指向下一个节点的指针 } ListNode;// 定义图的邻接表结构体 typedef struct {int vertex; // 顶点编号ListNode* adjList; // 邻接链表的头指针 } AdjacencyList;// 图结构体 typedef struct {int numVertices; // 顶点数量AdjacencyList* adjLists; // 邻接表数组 } Graph;// 创建链表节点的函数 ListNode* createListNode(int value) {ListNode* newNode (ListNode*)malloc(sizeof(ListNode)); // 分配内存newNode-value value; // 初始化节点值newNode-next NULL; // 初始化指针return newNode; // 返回新节点 }// 创建图的函数 Graph* createGraph(int vertices) {Graph* graph (Graph*)malloc(sizeof(Graph)); // 分配内存graph-numVertices vertices; // 初始化顶点数量graph-adjLists (AdjacencyList*)malloc(vertices * sizeof(AdjacencyList)); // 分配邻接表数组内存for (int i 0; i vertices; i) {graph-adjLists[i].vertex i; // 初始化顶点编号graph-adjLists[i].adjList NULL; // 初始化邻接链表为空}return graph; // 返回图结构 }// 添加边的函数 void addEdge(Graph* graph, int src, int dest, int bidir) {// 添加从 src 到 dest 的边ListNode* newNode createListNode(dest); // 创建新节点newNode-next graph-adjLists[src].adjList; // 将新节点插入到邻接链表头部graph-adjLists[src].adjList newNode;if (bidir) { // 如果是双向图// 添加从 dest 到 src 的边newNode createListNode(src); // 创建新节点newNode-next graph-adjLists[dest].adjList; // 将新节点插入到邻接链表头部graph-adjLists[dest].adjList newNode;} }// 打印邻接表的函数 void printAdjList(Graph* graph) {for (int i 0; i graph-numVertices; i) {printf(%d - , graph-adjLists[i].vertex); // 打印顶点编号ListNode* temp graph-adjLists[i].adjList; // 获取邻接链表头指针while (temp) {printf(%d, , temp-value); // 打印邻接节点值temp temp-next; // 移动到下一个节点}printf(\n); // 换行} }// 广度优先搜索的函数 void bfs(Graph* graph, int src) {int* visited (int*)calloc(graph-numVertices, sizeof(int)); // 分配访问标记数组内存int queue[graph-numVertices]; // 定义队列int front 0, rear 0; // 初始化队列的前后指针visited[src] 1; // 标记源节点已访问queue[rear] src; // 将源节点入队while (front ! rear) { // 当队列不为空时int node queue[front]; // 出队一个节点printf(%d, , node); // 打印节点值ListNode* temp graph-adjLists[node].adjList; // 获取当前节点的邻接链表头指针while (temp) {if (!visited[temp-value]) { // 如果邻接节点未被访问visited[temp-value] 1; // 标记邻接节点已访问queue[rear] temp-value; // 将邻接节点入队}temp temp-next; // 移动到下一个邻接节点}}free(visited); // 释放访问标记数组内存 }int main() {int vertices 6; // 定义顶点数量Graph* graph createGraph(vertices); // 创建图// 添加边addEdge(graph, 0, 1, 1); // 添加边 (0, 1)addEdge(graph, 1, 2, 1); // 添加边 (1, 2)addEdge(graph, 0, 4, 1); // 添加边 (0, 4)addEdge(graph, 2, 4, 1); // 添加边 (2, 4)addEdge(graph, 2, 3, 1); // 添加边 (2, 3)addEdge(graph, 3, 5, 1); // 添加边 (3, 5)addEdge(graph, 3, 4, 1); // 添加边 (3, 4)printf(The Graph is:\n); // 打印图的信息printAdjList(graph); // 打印邻接表printf(\n);printf(The Breadth First Search from Node 0:\n); // 打印广度优先搜索结果bfs(graph, 0);// 释放图的内存for (int i 0; i vertices; i) {ListNode* temp graph-adjLists[i].adjList; // 获取邻接链表头指针while (temp) {ListNode* toFree temp; // 保存当前节点temp temp-next; // 移动到下一个节点free(toFree); // 释放当前节点内存}}free(graph-adjLists); // 释放邻接表数组内存free(graph); // 释放图结构内存return 0; // 程序结束 }代码注释说明 头文件包含 #include stdio.h包含标准输入输出库。#include stdlib.h包含标准库函数如 malloc 和 free。 结构体定义 ListNode定义链表节点结构体。AdjacencyList定义图的邻接表结构体。Graph定义图结构体。 函数定义 createListNode创建链表节点。createGraph创建图。addEdge添加边。printAdjList打印邻接表。bfs广度优先搜索。 主函数 创建图并添加边。打印图的邻接表。执行广度优先搜索。释放图的内存。
http://www.w-s-a.com/news/326098/

相关文章:

  • 快递网站策划怎么做ppt长春建设信息网站
  • 做服装搭配图的网站有哪些经营一个网站要怎么做
  • 呼市品牌网站建设那家好增城住房和建设局网站
  • 网站首页布局设计代码太仓网站开发建设服务
  • 学校网站建设与管理porto wordpress模板
  • 余姚做网站公司网站建设有哪些基本流程
  • 门户网站建设的报价百度医生在线问诊
  • 北京公司注册在哪个网站浏览器打开网址404
  • 廊坊做网站公司绣花图案设计网站
  • 网站空间租用哪个好购物网站建设模板图片
  • 建设银行包头分行网站泰安网签成交量最新
  • 手机微网站与微官网现在去成都需要隔离吗
  • 学校的二级网站怎么建设深圳企业网站制作设计
  • 自己做qq头像静态的网站网站建设是属于软件开发费吗
  • 举报网站建设做网站之前的工作
  • 用QQ群做网站排名个人网站制作协议
  • 做茶叶网站的素材天津网站营销
  • 网站设计建设流程图微信端的网站开发python
  • 湖州网站seo优化网站改域名备案
  • dedecms怎么制作网站合肥电商网站开发
  • 网站开发通用流程图做flash的网站
  • 营销型网站有哪些平台网站建设藤设计
  • 网站需求分析网站建设美食网站建设多少钱
  • 有专门做网站的吗建德网站
  • 做网站要买服务器吗单页设计思路
  • 一 电子商务网站建设规划网站开发前端框架和后端框架
  • 自助网站建设系统软件自己免费建设网站
  • 百度微建站access如何与网站连接数据库
  • ppt素材免费网站网站正能量晚上免费软件
  • 个人淘宝客网站如何备案搭建一个平台要多少钱