邻接表存储图(c++题解)

题目描述

给出一个无向图,顶点数为n,边数为m。n<=1000,m<=10000

输入格式

第一行两个整数n,m,接下来有m行,每行两个整数u,v,表示点u到点v有一条边。

输出格式

第i行输出第点i的所有邻接点,邻接点按照度数由小到大输出,如果度数相等,则按照编号有小到大输出。

样例

样例输入

复制代码
复制5 6
1 2
1 3
1 4
2 3
2 4
2 5

样例输出

复制代码
复制3 4 2 
5 3 4 1 
1 2 
1 2 
2 

写作不易,点个赞呗!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int n,m,u,v;
vector<int> a[1000005]; 
bool cmp(int x,int y){
	if(a[x].size()==a[y].size()){
		return x<y;
	}
	return a[x].size()<a[y].size();
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		cin>>u>>v;
		a[u].push_back(v);
		a[v].push_back(u);
	}
	for(int i=1;i<=n;i++){
		sort(a[i].begin(),a[i].end(),cmp);
		for(auto j:a[i])cout<<j<<" ";
		cout<<endl;
	}
}
相关推荐
xiaoye-duck19 小时前
《算法题讲解指南:优选算法-队列+宽搜》--70.N叉树的层序遍历,71.二叉树的锯齿形层序遍历,72.二叉树的最大宽度,73.在每个树行中找最大值
数据结构·c++·算法·队列
代码改善世界19 小时前
【C++初阶】双向循环链表:List底层结构的完整实现剖析
c++·链表·list
汀、人工智能19 小时前
[特殊字符] 第98课:数据流中位数
数据结构·算法·数据库架构··数据流·数据流中位数
REDcker19 小时前
C++ 包管理工具概览
开发语言·c++
Eloudy19 小时前
不同特征值的特征向量互相正交的矩阵
人工智能·算法·机器学习
人道领域19 小时前
【LeetCode刷题日记】:从 LeetCode 经典题看哈希表的场景化应用---数组、HashSet、HashMap 选型与算法实战
算法·leetcode·面试
努力努力再努力wz19 小时前
【C++高阶系列】告别内查找局限:基于磁盘 I/O 视角的 B 树深度剖析与 C++ 泛型实现!(附B树实现源码)
java·linux·开发语言·数据结构·c++·b树·算法
承渊政道19 小时前
【优选算法】(实战攻坚BFS之FloodFill、最短路径问题、多源BFS以及解决拓扑排序)
数据结构·c++·笔记·学习·算法·leetcode·宽度优先
kishu_iOS&AI19 小时前
机器学习 —— 线性回归(2)
人工智能·python·算法·机器学习·线性回归
NULL指向我19 小时前
信号处理学习笔记6:ADC采样线性处理实测拟合
人工智能·算法·机器学习