邻接表存储图(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;
	}
}
相关推荐
xrn1997几秒前
Android OpenCV SDK 编译教程(WSL2 Ubuntu 22.04 环境)
android·c++·opencv
Dev7z2 分钟前
基于Matlab多算法的图像增强与客观质量评价系统
人工智能·算法·matlab
AA陈超2 分钟前
Lyra学习5:GameFeatureAction分析
c++·笔记·学习·ue5·lyra
xcLeigh5 分钟前
【新】Rust入门:基础语法应用
开发语言·算法·rust
curry____3035 分钟前
study in Dev-c++(string insert基本用法)(2025.12.2)
c++·string·insert
nono牛5 分钟前
C++ 语言全面教程 (基础入门)
java·jvm·c++
小年糕是糕手8 分钟前
【C++同步练习】类和对象(一)
java·开发语言·javascript·数据结构·c++·算法·排序算法
txxzjmzlh8 分钟前
类和对象(下)
开发语言·c++
小O的算法实验室9 分钟前
2025年IJPR SCI2区,基于混合邻域结构的高效稳定智能调度算法用于柔性作业车间调度,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
运维小文9 分钟前
Centos7部署.net8和升级libstdc++
开发语言·c++·.net