Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Matias Salohonka 0438604
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct node *listpointer;
- typedef struct node{
- int value;
- listpointer next;
- } Node;
- listpointer addNode(listpointer list, int i) {
- listpointer temp = NULL;
- temp = (listpointer)malloc(sizeof(Node)); //luodaan alkio
- temp->value = i;
- temp->next = NULL;
- if(list == NULL) { //tyhjä lista
- list = temp;
- } else {
- listpointer ptr = list; //apuosoitin
- while(ptr->next != NULL) ptr = ptr->next; //listan loppuun
- ptr->next = temp; //alkio sinne
- }
- return list;
- }
- listpointer removeNode(listpointer list, int i) {
- listpointer finder = list;
- listpointer temp;
- while(finder->next->value != i) { //etsitään poistettavan alkion edellinen
- finder = finder->next;
- }
- temp = finder->next->next; //poistettavasta seuraava tilapäismuuttujaan
- free(finder->next); //vapautetaan poistettava
- finder->next = temp; //viittaus poistettavan edellisestä poistettavan seuraavaan
- return list;
- }
- void printList(listpointer list) {
- listpointer temp = list;
- while(temp != NULL) {
- printf("%d\n",temp->value);
- temp = temp->next;
- }
- }
- int main() {
- listpointer list = NULL;
- list = addNode(list, 2);
- list = addNode(list, 4);
- list = addNode(list, 6);
- list = addNode(list, 3);
- list = addNode(list, 7);
- list = addNode(list, 1);
- list = addNode(list, 9);
- printList(list);
- printf("Nyt listalta poistetaan 6\n");
- list = removeNode(list, 6);
- printList(list);
- return 0;
- }
- //eof
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement