Add-an-element function isn't working in a C program linked list -
Add-an-element function isn't working in a C program linked list -
i'm working on simple c programme intended create linked list , display elements using 2 functions shto() - add together alement, , afisho() - display elements of list. problem function shto() used add together element @ end of linked list doesn't work well. when list null doesn't add together single element @ list. i'm guessing part of code isn't correct.
if (koka == null) koka = shtesa; actually i've placed these 3 lines initialize list element. if remove these 3 lines programme won't work.
koka = (node_s *)malloc(sizeof(node_s)); koka->vlera = 0; koka->next = null; could help me create programme work, if remove these 3 lines ? appreciate help. in advance!
the code of programme below.
#include <stdio.h> #include <stdlib.h> typedef struct node { int vlera; struct node *next; } node_s; node_s *koka, *temp, *shtesa; node_s* shto (node_s *koka, int vlera) { shtesa = (node_s *)malloc(sizeof(node_s)); shtesa->vlera = vlera; shtesa->next = null; if (koka == null) koka = shtesa; else { temp = koka; while (temp->next != null) temp = temp->next; temp->next = shtesa; } homecoming koka; } void afisho (node_s *koka) { if (koka == null) printf("there's no element in list.\n"); else { temp = koka; { printf("%d\n", temp->vlera); } while ((temp = temp->next) != null); } } int main () { int i; koka = (node_s *)malloc(sizeof(node_s)); koka->vlera = 0; koka->next = null; (i=1; i<11; i++) shto (koka, i); afisho(koka); homecoming 1; }
when list empty, shto( ) detects in , sets koka (which head, guess) new created element:
if (koka == null) koka = shtesa; else ... but within function koka al local variable, doesn't impact global koka. shto() returns koka (the local maybe modified variable), should plenty replace
for (i=1; i<11; i++) shto (koka, i); by
for (i=1; i<11; i++) koka = shto (koka, i); c linked-list
Comments
Post a Comment