邻接表存储图(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;
	}
}
相关推荐
那个村的李富贵7 小时前
CANN加速下的AIGC“即时翻译”:AI语音克隆与实时变声实战
人工智能·算法·aigc·cann
power 雀儿7 小时前
Scaled Dot-Product Attention 分数计算 C++
算法
Yvonne爱编码7 小时前
JAVA数据结构 DAY6-栈和队列
java·开发语言·数据结构·python
熬夜有啥好7 小时前
数据结构——哈希表
数据结构·散列表
琹箐8 小时前
最大堆和最小堆 实现思路
java·开发语言·算法
renhongxia18 小时前
如何基于知识图谱进行故障原因、事故原因推理,需要用到哪些算法
人工智能·深度学习·算法·机器学习·自然语言处理·transformer·知识图谱
坚持就完事了8 小时前
数据结构之树(Java实现)
java·算法
算法备案代理8 小时前
大模型备案与算法备案,企业该如何选择?
人工智能·算法·大模型·算法备案
赛姐在努力.9 小时前
【拓扑排序】-- 算法原理讲解,及实现拓扑排序,附赠热门例题
java·算法·图论
我能坚持多久9 小时前
【初阶数据结构01】——顺序表专题
数据结构