1. function recherche_path(first-path,last,arrivel)
2. begin
3. if last=arrivel then
4. print (first-path)
5. else
6. for all neoud E(succ(last) & noeud <> first_path
7. recherche_path(first_path+noeud,noeud,arrivel)
8. end
char Graph[NodesCount][NodesCount];
struct node_t
{
node_t(int _i, int _j) : i(_i), j(_j) {}
int i,j;
};
typedef std::list node_list_t;
void find_path(node_list_t& path, const node_t& target)
{
const node_t &last = path.back();
if (last == target)
path_found(path);
void find_path(node_list_t& path, const node_t& target) {
const node_t &last = path.back();
if (last == target) // هل وصلنا إلى الهدف؟
path_found(path);
else {
const node_list_t &neighbors = get_neighbors(last);
for (node_list_t::const_iterator itr=neighbors.begin();itr!=neighbors.end();itr++)
{ // من أجل كل node مجاورة
if (path.find(*itr) != path.end()) // هل توجد قي المسار؟
continue; // تم زيارة هذه الـ node سابقاً
path.push_back(*itr); // أضفها إلى المسار
find_path(path, target); // ابحث عن الهدف بدئاً منها
path.pop_back(); // أزلها من المسار
}
}
}
بتاريخ 20/ربيع الثاني/1430 08:17 ص، قطب عبد اللطيف حاجي علي حاجبيه بشدة وهو يقول:
recherche_path(first_path+noeud,noeud,arrivel)وفي 19/ربيع الثاني/1430 11:00 م، أعرب maya عن رأيه بالموقف كالآتي:
recherche(first_path+noeud,last,arrivel) endفي 15 نيسان 2009 05:59 م، قال maya بهدوء وتؤدة:
لقد غيرت في هذا السطر لكن لماذا غيرتفي 15 نيسان 2009 05:59 م، عقد maya حاجبيه بتفكير وقال:
انا اقصد ب last اخر noeud موجود في first_path