Voila mon programme final:
- include <stdio.h>
- include <tchar.h>
- include <assert.h>
- include <process.h>
- include <cstdlib>
- include <iostream>
using namespace std;
class ListNode
{
public:
ListNode(int value){}
int m_value;
ListNode* m_next;
};
int CountListNode( ListNode* node )
{
int result = 0;
while(node->m_next!=NULL)
{
result++;
node=node->m_next;
}
return result+1;
}
ListNode* ReverseList( ListNode* node )
{
ListNode *tmp = NULL;
ListNode *result=NULL;
while(node!=NULL)
{
tmp=node;
node=tmp->m_next;
tmp->m_next=result;
result=tmp;
}
return result;
}
void afficherListe(ListNode* node)
{
ListNode*tmp = node;
while(tmp != NULL)
{
printf("val = %d et adresse du suivant = %d\n",tmp->m_value, tmp->m_next);
tmp = tmp->m_next;
}
printf("\n");
}
int main()
{
printf("List Test:\n");
ListNode node1(1);
ListNode node2(2);
ListNode node3(3);
node1.m_next = &node2;
node2.m_next = &node3;
node3.m_next = NULL;
afficherListe(&node1);
ListNode *reverted = ReverseList(&node1);
return 0;
}
J'ai réglé mon soucis de console qui plante.
Mais il me semble qu'il m'affiche les adresse avec afficher liste pourtant j'avais déja bosser sur un tp du genre et j'avais pas de soucis ca me retournais bien des entiers dans m_value.