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

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é!
avatar
ASSASSiN
♥ Strong Chicken ♥
♥ Strong Chicken ♥

Tổng số bài gửi : 329
Age : 30
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

Về Đầu Trang


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