【王道数据结构】【强化练习】【图的应用】【4.2.1-4.2.2】

文章目录

4.2.1

定义一个顺序存储的图(邻接矩阵实现)

#include <iostream>
typedef struct maxtrix{
    int ** matrix;
    int rows;
    int cols;
}matrix,*pm;

void init(pm m,int row ,int col)
{
    m->matrix=(int **) malloc(sizeof (int*)*row);
    m->cols=col;
    m->rows=row;
    for(int i=0;i<row;i++)
        m->matrix[i]=(int*) malloc(sizeof (int)*col);
    for(int i=0;i<row;i++)
        for(int j=0;j<col;j++)
            m->matrix[i][j]=0;
}
void print(pm p)
{
    for(int i=0;i<p->rows;i++) {
        for (int j = 0; j < p->cols; j++)
            printf("%3d", p->matrix[i][j]);
        puts("");
    }
}
void test()
{
    maxtrix m;
    init(&m,10,10);
    print(&m);
}
int main() {
    test();
    return 0;
}

4.2.2

定义一个链式存储的图(邻接表实现)

#include <iostream>
typedef struct node{
    int data;
    node* next;
};
typedef struct headnode{
    int number;
    node* node;
}headnode;

typedef struct graph{
    headnode* head;
    int dots;
}graph;

void init(graph*g,int dots)
{
    g->dots=dots;
    g->head=(headnode*) malloc(sizeof (headnode)*dots);
    for(int i=0;i<dots;i++) g->head[i].number=i,g->head[i].node= nullptr;
}
void print(graph* g)
{
    for(int i=0;i<g->dots;i++)
    {
        printf("%3d",g->head[i].number);
        node* tmp=g->head[i].node;
        while(tmp){
            printf("%3d",tmp->data);
            tmp=tmp->next;
        }
        puts("");
    }
}
void test()
{
    graph g;
    init(&g,10);
    print(&g);
}
int main() {
    test();
    return 0;
}

相关推荐

  1. C:数据结构王道

    2024-07-23 00:38:02       43 阅读
  2. c yuv422转yuv420p

    2024-07-23 00:38:02       48 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-23 00:38:02       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-23 00:38:02       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-23 00:38:02       45 阅读
  4. Python语言-面向对象

    2024-07-23 00:38:02       55 阅读

热门阅读

  1. 【Devops系统】如何构建Devops系统

    2024-07-23 00:38:02       16 阅读
  2. 面了抖音算法岗,被疯狂拷打。。。

    2024-07-23 00:38:02       19 阅读
  3. 使用 kapt 注解生成依赖注入代码

    2024-07-23 00:38:02       13 阅读
  4. Android GlSurfaceView渲染YUV图形

    2024-07-23 00:38:02       16 阅读
  5. iview中Checkbox组件设置不勾选是0,勾选是1

    2024-07-23 00:38:02       14 阅读
  6. 数学基础 -- 导数伪装的极限之变量替换

    2024-07-23 00:38:02       12 阅读
  7. 2024.7.20-22学习日报

    2024-07-23 00:38:02       10 阅读
  8. Linux-查看dd命令进度

    2024-07-23 00:38:02       15 阅读
  9. 【Android Framewrok】Handler源码解析

    2024-07-23 00:38:02       14 阅读
  10. PCI总线域与处理器域

    2024-07-23 00:38:02       13 阅读
  11. 代码随想录 day 20 二叉树

    2024-07-23 00:38:02       16 阅读
  12. 学懂C语言系列(二):C程序结构

    2024-07-23 00:38:02       19 阅读