Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdlib.h>
- #include <vector>
- #define GRAPH_SIZE 5
- using namespace std;
- struct Node{
- int Name;
- int value;
- bool check_status;
- vector<Node*> links;
- };
- Node nodes[GRAPH_SIZE];
- void custom (void){
- system ("color 0A");
- system ("title graph sort");
- return;
- }
- vector<int> graph_sorter (void){
- vector<int> index;
- vector<int> graph_array;
- bool flag;
- int in,buf;
- for (int k = 0;k < GRAPH_SIZE;k++){
- buf = 2147483647;
- for (int i = 0;i < GRAPH_SIZE;i++){
- flag = true;
- for (int j = 0;j < index.size();j++)
- if (index[j] == i) flag = false;
- if (flag){
- if (nodes[i].value < buf){
- buf = nodes[i].value;
- in = i;
- }
- }
- }
- index.push_back(in);
- graph_array.push_back(buf);
- }
- return graph_array;
- }
- int main(){
- custom();
- for (int i = 0;i < GRAPH_SIZE;i++){
- nodes[i].check_status = false;
- nodes[i].Name = i;
- }
- nodes[0].value = 3;
- nodes[1].value = 1;
- nodes[2].value = 5;
- nodes[3].value = 7;
- nodes[4].value = 2;
- nodes[0].links.push_back(&nodes[1]);
- nodes[0].links.push_back(&nodes[2]);
- nodes[1].links.push_back(&nodes[0]);
- nodes[2].links.push_back(&nodes[0]);
- nodes[2].links.push_back(&nodes[3]);
- nodes[2].links.push_back(&nodes[4]);
- nodes[3].links.push_back(&nodes[2]);
- nodes[4].links.push_back(&nodes[2]);
- vector<int> graph_array = graph_sorter();
- for (int i = 0;i < graph_array.size();i++)
- cout<<graph_array[i]<<" ";
- return 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement