Esempio n. 1
0
main()
{
	int choice;
	int node,origin,destin;

	create_graph();
	while(1)
	{
		printf("1.Insert a node\n");
		printf("2.Insert an edge\n");
		printf("3.Delete a node\n");
		printf("4.Delete an edge\n");
		printf("5.Dispaly\n");
		printf("6.Exit\n");
		printf("Enter your choice : ");
		scanf("%d",&choice);

		switch(choice)
		{
		 case 1:
			insert_node();
			break;
		 case 2:
			printf("Enter an edge to be inserted : ");
			fflush(stdin);
			scanf("%d %d",&origin,&destin);
			insert_edge(origin,destin);
			break;
		 case 3:
			printf("Enter a node to be deleted : ");
			fflush(stdin);
			scanf("%d",&node);
			delete_node(node);
			break;
		 case 4:
			printf("Enter an edge to be deleted : ");
			fflush(stdin);
			scanf("%d %d",&origin,&destin);
			del_edge(origin,destin);
			break;
		 case 5:
			display();
			break;
		 case 6:
			exit();
		 default:
			printf("Wrong choice\n");
			break;
		 }/*End of switch*/
	}/*End of while*/
}/*End of main()*/
size_t SequenceGraph::del_sequence(const std::string & sequence) {
  size_t deleted_edges_count = 0;

  size_t src_vertex, dst_vertex;
  for (auto it = sequence.begin(); it != sequence.end(); ++it) {
    if (it == sequence.begin()) {
      dst_vertex = *it;
      continue;
    }

    src_vertex = dst_vertex;
    dst_vertex = *it;

    if (del_edge(src_vertex, dst_vertex)) {
      ++deleted_edges_count;
    }
  }

  return deleted_edges_count;
}