⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 utility.cpp

📁 clustering for ns-2 simulation
💻 CPP
字号:
#include "utility.h"void readColor(istream * inFile, string & color, NodeList & nodes, bool readonly){	string line;	int node;	if (!readonly)		nodes.clear();		*inFile >> color;		getline(*inFile, line, '\n');	if (readonly)		return;	// cout << color << ": ";	istringstream inRow(line);	while (inRow >> node) {		nodes.insert(node);		// cout << node << "  ";	}	// cout << endl;}void loadFromDump(istream * inFile, Graph & graph){	int nodes, node1, node2;		graph.clear();		*inFile >> nodes;		string line;	getline(*inFile, line, '\n');		for (int i = 0; i < nodes; i++) {		string line_;		getline(*inFile, line_, '\n');		// cout << "Analizzo: " << line_ << endl;				istringstream inRow(line_);        inRow >> node1;		while (inRow >> node2) {			connect(node1, node2, graph);			// cout << "Connect " << node1 << " - " << node2 << endl;		}	}}void loadFromFile(const char * fileName, Graph & graph){    // Inizializza il grafo    graph.clear();        // Nodi da connettere    int nodeA;    int nodeB;        // Apre il file della topologia    ifstream in;    in.open(fileName, ios::in);	    // Carica il grafo    while (in >> nodeA >> nodeB)        graph[nodeA].insert(nodeB);	    // Chiude il file.    in.close();}void extractLayers(string s_layers, vector<string> & layers){	string layer;	layers.clear();	istringstream inRow(s_layers);	while (getline(inRow, layer, '-')) {		layers.push_back(layer);	}}void skipClustering(istream * inFile){	int i_tmp;	string s_tmp;		*inFile >> i_tmp;	for (int t = 0; t < (i_tmp + 2); t++)		getline(*inFile, s_tmp, '\n');		*inFile >> i_tmp;	for (int t = 0; t < (i_tmp + 1); t++)		getline(*inFile, s_tmp, '\n');}void skipBackbone(istream * inFile){	int i_tmp;	string s_tmp;		skipClustering(inFile);		*inFile >> i_tmp;	for (int t = 0; t < (i_tmp + 1); t++)		getline(*inFile, s_tmp, '\n');}void skipLeader(istream * inFile){	string s_tmp;	int i_tmp;		*inFile >> i_tmp;	for (int t = 0; t < (i_tmp + 4); t++)		getline(*inFile, s_tmp, '\n');}void skipShiva(istream * inFile){	string s_tmp;	skipBackbone(inFile);	getline(*inFile, s_tmp, '\n');}void skipConnector(istream * inFile){	string s_tmp;	skipBackbone(inFile);	getline(*inFile, s_tmp, '\n');}void skipRajaraman(istream * inFile){	string s_tmp;	skipClustering(inFile);	getline(*inFile, s_tmp, '\n');}void skipLayer(istream * inFile){	string currentLayer;		*inFile >> currentLayer;	if (currentLayer == "CLUSTERING") {		skipClustering(inFile);	}	else if (currentLayer == "BACKBONE") {		skipBackbone(inFile);	}	else if (currentLayer == "LEADER") {		skipLeader(inFile);	}	else if (currentLayer == "SHIVA") {		skipShiva(inFile);	}	else if (currentLayer == "CONNECTOR") {		skipConnector(inFile);	}	else if (currentLayer == "RAJARAMAN") {		skipRajaraman(inFile);	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -