Tìm đường đi ngắn nhất

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

Tìm đường đi ngắn nhất

Bài gửi by ASSASSiN on Tue Nov 13, 2007 2:56 pm

Đoạn code này dùng để tìm đường đi ngắn nhất giữa các thành phố.
dữ liệu được nạp từ file text có tên "DataCity.txt" có nội dung như sau:
from to khoangcach
.........

from : nơi đi
to : nơi đến
khoangcach: kieu int

các giá trị cách nhau ít nhất một tab tương đương '\t' trong C,C++.


[code]#include
#include
#include
#include
#include
template
struct Node
{
Entry data;
Node *next;
};
template
struct List
{
Node *first,*last;
};
struct Data1
{
char *name;
int length;
};
struct Data2
{
char *name;
List *list;
};
struct Data3
{
int sumlength;
List *list;
};
template
void AddNode(List* list,Entry data)
{
Node *node=new Node;
node->data=data;
node->next=NULL;
if(list->first==NULL)
list->first=list->last=node;
else {
list->last->next=node;
list->last=node;
}
}
void OutputData(List *list)
{
Node *node1=list->first;
while(node1!=NULL)
{
cout<<"\n"<data.name<<"\n";
Node *node2=node1->data.list->first;
while(node2!=NULL)
{
cout<<"\t-> "<data.name<<"\t"<data.length<<"\n";
node2=node2->next;
}
node1=node1->next;
}
}
void AddNodeList2(List* list,char* from,char* to,int len)
{
Data1 data1;
data1.name=to;
data1.length=len;
Node *node=list->first;
while(node!=NULL)
{
if(strcmpi(node->data.name,from)==0)
{
AddNode(node->data.list,data1);
return;
}
node=node->next;
}
List *temp=new List;
temp->first=temp->last=NULL;
AddNode(temp,data1);
Data2 data;
data.name=from;
data.list=temp;
AddNode(list,data);
}
List* ReadFile(char* filename)
{
List *list=new List;
list->first=list->last=NULL;
FILE *fvb;
fvb=fopen(filename,"rt");
char str[255];
while(!feof(fvb))
{
fgets(str,255,fvb);
char *s[3];
int k=0,len=0,index=0;
for(int i=0;i

_________________
Hãy REPLY để ủng hộ BOTAY nhé!

ASSASSiN
♥ Strong Chicken ♥
♥ Strong Chicken ♥

Tổng số bài gửi : 329
Age : 29
Location : Việt Nam
Registration date : 05/10/2007

Xem lý lịch thành viên http://botay.1talk.net

Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết