Linked List, banyak hal dapat dilakukan dalam linked list, seperti push(insert), pop(delete). memahami konsep Singly Linked List dapat dibilang relatif mudah, namun pengaplikasian kodingnya perlu waktu untuk pemahaman. Saya Johanes Peter akan merangkum apa yang diajarkan di kelas besar pertemuan 3, yaitu mengenai koding linked list.
- Struct
struct Data
{
int value;
struct Data *next,*prev;
}*head,*curr,*tail;
- Push tail (insert sebuah data di paling belakang)
void push(int a)
{
curr = (struct Data*)malloc(sizeof(struct Data));
curr->value = a;
if(head==NULL){
head = tail = curr;
}
else{
tail->next = curr;
curr->prev = tail;
tail = curr;
}
head->prev = tail->next = NULL;
}
- Print isi dalam linked list
void cetak()
{
curr = head;
while(curr!=NULL){
printf("%d\n",curr->value);
curr = curr->next;
}
}
- PopTail(Delete data paling belakang)
void pop()
{
curr = head;
if(tail == head){
free(curr);
tail = head = curr = NULL;
}
else
{
while(curr->next!=tail){
curr = curr->next;
}
free(tail);
tail = curr;
tail->next = NULL;
}
}
Demikian adalah Rangkuman Materi Kelas besar. Semoga bermanfaat :)
Comments
Post a Comment