Ik heb het volgende stuk C-code geschreven:
Met deze code voeg ik dus in een for-loop steeds een nieuw element toe aan het begin van de linked list.
Maar de while-loop geeft de volgende output:
0
10
9
8
7
6
5
4
3
2
1
Hoe komt het dat hij begint met de 0, terwijl deze juist aan het einde zou moeten staan
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| #include<stdlib.h> #include<stdio.h> typedef struct node { int val; node * next; } nodeType; nodeType * root; nodeType * ptr; int main() { root = (nodeType *) malloc(sizeof(nodeType)); ptr = root; for (int i=0; i<=10; i++) { ptr->val = i; root = (nodeType *) malloc(sizeof(nodeType)); root->next = ptr; ptr = root; } ptr = root; while (ptr->next != 0) { printf("%d\n", ptr->val); ptr = ptr->next; } return 1; } |
Met deze code voeg ik dus in een for-loop steeds een nieuw element toe aan het begin van de linked list.
Maar de while-loop geeft de volgende output:
0
10
9
8
7
6
5
4
3
2
1
Hoe komt het dat hij begint met de 0, terwijl deze juist aan het einde zou moeten staan
[ Voor 26% gewijzigd door Verwijderd op 13-03-2003 01:02 ]