zoukankan      html  css  js  c++  java
  • 图的存储

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    
    int k,h[110],mark;
    
    struct M
    {
        int data;
        struct M *next;
    }*head[110];
    
    void init()
    {
        int i;
        for(i = 0; i < k; i++)
        {
            head[i] = (struct M *)malloc(sizeof(struct M));
            head[i]->next = NULL;
            head[i]->data = -1;
        }
    }
    
    void link(int u,int v)
    {
        struct M *p1,*p2,*q;
        q = (struct M *)malloc(sizeof(struct M));
        q->next = NULL;
        q->data = v;
        for(p1 = head[u],p2 = p1->next; p2 != NULL; p1 = p1->next,p2 = p2->next)
        {
            if(p1->data < v && p2->data > v)
            {
                q->next = p1->next;
                p1->next = q;
                return;
            }
            else if(p2->data == v)
            {
                free(q);
                return;
            }
        }
        p1->next = q;
    }
    
    void seek(int mb)
    {
        struct M *p;
        int q[105],s,e;
        s = e = 0;
        q[e++] = mb;
        while(s < e)
        {
            mb = q[s++];
            if(mark)
            {
                mark = 0;
                printf("%d",mb);
            }
            else printf(" %d",mb);
            for(p = head[mb]->next; p != NULL; p = p->next)
            {
                if(!h[p->data])
                {
                    h[p->data] = 1;
                    q[e++] = p->data;
                }
            }
        }
    }
    
    int main()
    {
        int js,m,t,i,u,v;
        struct M *p;
        scanf("%d",&js);
        while(js--)
        {
            scanf("%d %d %d",&k,&m,&t);
            init();
            for(i = 0; i < m; i++)
            {
                scanf("%d %d",&u,&v);
                link(u,v);
                link(v,u);
            }
            memset(h,0,sizeof(h));
            h[t] = 1;
            mark = 1;
            seek(t);
            printf("
    ");
        }
        return 0;
    }

     

  • 相关阅读:
    Ajax缓存处理
    单例模式
    正则表达式基础
    springmvc请求参数的绑定和获取
    springmvc返回视图(解析)
    RequestMapping请求映射方式
    springmvc注解基本入门
    springmvc简介
    Mybatis入门-动态sql
    Mybatis映射配置文件Mapper.xml详解
  • 原文地址:https://www.cnblogs.com/zhangmingcheng/p/3789893.html
Copyright © 2011-2022 走看看