邻接表存储图(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;
	}
}
相关推荐
Swift社区3 小时前
LeetCode 449 - 序列化和反序列化二叉搜索树
算法·leetcode·职场和发展
charlie1145141913 小时前
深入理解CC++的编译与链接技术9:动态库细节
c语言·开发语言·c++·学习·动态库
isyoungboy3 小时前
c++使用win新api替代DirectShow驱动uvc摄像头,可改c#驱动
开发语言·c++·c#
CoderYanger3 小时前
贪心算法:3.最大数
java·算法·leetcode·贪心算法·1024程序员节
lxmyzzs3 小时前
【图像算法 - 37】人机交互应用:基于 YOLOv12 与 OpenCV 的高精度人脸情绪检测系统实现
算法·yolo·人机交互·情绪识别
muyouking113 小时前
Zig 语言实战:实现高性能快速排序算法
算法·排序算法
世转神风-3 小时前
qt-windows用户点击.exe,报错:缺少libgcc_s_seh-1.dll
c++·qt
CoderYanger3 小时前
贪心算法:5.最长递增子序列
java·算法·leetcode·贪心算法·1024程序员节
慕容青峰3 小时前
【牛客周赛 107】E 题【小苯的刷怪笼】题解
c++·算法·sublime text
算法熔炉3 小时前
深度学习面试八股文(2)——训练
人工智能·深度学习·算法