使用STL中的模版vector来模拟链表,避免麻烦的动态内存分配。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<vector>
using namespace std;
struct Edge
{
int nextNode; //下一个结点
int cost; //该边的权重
};
vector<Edge> edge[100];
int main()
{
for (int i = 0; i < 100; i++)
{
edge[i].clear();
}
//增加结点
Edge tmp;
tmp.nextNode = 3;
tmp.cost = 5;
edge[1].push_back(tmp);
//遍历结点
for (int i = 0; i < edge[1].size(); i++)
{
int nextNode = edge[1][i].nextNode;
int cost = edge[1][i].cost;
}
//删除结点
int i = 0;//i为要删除的节点的编号
edge[1].erase(edge[1].begin() + i, edge[1].begin() + i + 1);
}