No 1
Menambah node baru di linked list
Ketiklah program di atas. Copy kode berikut kemudian sisipkan ke kode yang telah anda ketik pada posisi sebelum baris 1
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
struct node { int data;
struct node *next;
};
typedef struct node node;
node *createNode(void);
void deleteList(node *head);
void tranverse(node *head);
Copy kode berikut kemudian sisipkan ke kode yang telah anda ketik pada posisi setelah baris terakhir
node *createNode(void){
node *ptr;
ptr = (node *)malloc(sizeof(node));
return(ptr);
}
void deleteList(node *head){
node *pTemp;
while(head != NULL){
pTemp = head;
head = head->next;
free(pTemp);
} }
void tranverse(node *head){
//traverse a linked list node *pWalker;
pWalker = head;
while (pWalker != NULL){
printf("%d->", pWalker -> data);
pWalker = pWalker -> next;
}
printf("NULL");
}
1. Jalankan program di atas. Apa yang dilakukan oleh program tersebut?
2. Jelaskan maksud baris 9 sampai 16. Gambarkan keadaan memori sebelum dan sesudah baris tersebut dieksekusi
3. Jelaskan maksud baris 27 sampai 29. Apa isi pPre setelah baris tersebut dieksekusi jika data yang dicari ada di linked list? Bagaimana jika data yang dicari tidak ada di linked list?
4. Jelaskan maksud baris 34 sampai 39. Gambarkan tahap-tahap perubahan linked list jika kode tersebut dieksekusi untuk menambahkan data 34 ke linked list 23→22→0→15 setelah elemen 0
5. Modifikasilah program di atas dengan memindahkan baris 27 – 29 ke fungsi search.
6. Modifikasilah program di atas dengan memindahkan baris 13 – 15 dan baris 36 – 38 ke fungsi insert
7. Modifikasilah fungsi insert sehingga penyisipan dilakukan sebelum pPre
No 2
Menghapus node dari linked list
Sisipkan kode di atas di antara baris 45 dan 46 pada kode soal no 1 1. Jalankan program. Apa yang dilakukan oleh program tersebut?
2. Jelaskan maksud baris 8 sampai 13. Apa perbedaan baris tersebut dengan baris 27 – 29 pada program no 1?
3. Jelaskan maksud baris 18 sampai 22.
4. Gambarkan tahap-tahap perubahan linked list berikut jika baris 18-22 dieksekusi.
23→22→0→15 dengan pPre 22 dan pWalker 0
5. Modifikasilah program tersebut dengan memindahkan baris 8-13 ke fungsi search 6. Modifikasilah program tersebut dengan memindahkan baris 18-22 ke fungsi
delete