Jadi Untuk kali ini saya belajar Tentang cara push dan pop di dalam Single Linked List
Ini adalah contoh kode yang saya pelajari di rumah setelah kelas CB01 jam 9.00 - 11.00 dan LB08 11.20 - 15,00 :
#include <stdio.h>
#include <windows.h>
struct Node{
int data;
Node *next;
}*head,*tail;
Node *newData(int data){
Node *curr = (Node *)malloc(sizeof(Node));
curr->data = data;
curr->next = NULL;
return curr;
}
void view(){
Node *temp = head;
while(temp != NULL){
printf("%d ",temp->data);
temp = temp->next;
}
}
void pushHead(Node *data){
if(head == NULL){
head = tail = data;
}
else{
data->next = head;
head = data;
}
}
void pushTail(Node *data){
if(head == NULL){
head = tail = data;
}
else{
tail->next = data;
tail = data;
}
}
int main(int agrc,char **argv){
// pushHead(newData(10));
// pushHead(newData(30));
// pushHead(newData(20));
// pushHead(newData(50));
pushTail(newData(50));
pushTail(newData(10));
pushTail(newData(40));
pushTail(newData(30));
view();
return 0;
}
serta ini yang saya pelajari di kelas CB01 yaitu pushTail dan popTail :
#include <stdio.h>
#include <stdlib.h>
struct node{
int angka;
struct node *next;
}*head,*tail,*curr;
void push(int angka){
// ini adalah pushHead yang diajarkan di CB01
curr = (struct node*)malloc(sizeof(struct node));
curr->angka = angka;
if(head == NULL){
head = tail = curr;
}
else{
curr->next = head;
head = curr;
}
tail->next = NULL;
}
void pop(){
// ini adalah popHead yang diajarkan di kelas LB08
curr = head;
if(head != NULL){
head = head->next;
free(curr);
curr->next = NULL;
}
}
void view(){
curr = head;
while(curr != NULL){
printf("%d ",curr->angka);
curr = curr->next;
}
}
int main(int argc, char **argv){
push(112);
push(33);
push(10);
push(15);
view();
getchar();
pop();
pop();
pop();
pop();
view();
return 0;
}
Ini adalah contoh kode yang saya pelajari di rumah setelah kelas CB01 jam 9.00 - 11.00 dan LB08 11.20 - 15,00 :
#include <stdio.h>
#include <windows.h>
struct Node{
int data;
Node *next;
}*head,*tail;
Node *newData(int data){
Node *curr = (Node *)malloc(sizeof(Node));
curr->data = data;
curr->next = NULL;
return curr;
}
void view(){
Node *temp = head;
while(temp != NULL){
printf("%d ",temp->data);
temp = temp->next;
}
}
void pushHead(Node *data){
if(head == NULL){
head = tail = data;
}
else{
data->next = head;
head = data;
}
}
void pushTail(Node *data){
if(head == NULL){
head = tail = data;
}
else{
tail->next = data;
tail = data;
}
}
int main(int agrc,char **argv){
// pushHead(newData(10));
// pushHead(newData(30));
// pushHead(newData(20));
// pushHead(newData(50));
pushTail(newData(50));
pushTail(newData(10));
pushTail(newData(40));
pushTail(newData(30));
view();
return 0;
}
serta ini yang saya pelajari di kelas CB01 yaitu pushTail dan popTail :
#include <stdio.h>
#include <stdlib.h>
struct node{
int angka;
struct node *next;
}*head,*tail,*curr;
void push(int angka){
// ini adalah pushHead yang diajarkan di CB01
curr = (struct node*)malloc(sizeof(struct node));
curr->angka = angka;
if(head == NULL){
head = tail = curr;
}
else{
curr->next = head;
head = curr;
}
tail->next = NULL;
}
void pop(){
// ini adalah popHead yang diajarkan di kelas LB08
curr = head;
if(head != NULL){
head = head->next;
free(curr);
curr->next = NULL;
}
}
void view(){
curr = head;
while(curr != NULL){
printf("%d ",curr->angka);
curr = curr->next;
}
}
int main(int argc, char **argv){
push(112);
push(33);
push(10);
push(15);
view();
getchar();
pop();
pop();
pop();
pop();
view();
return 0;
}
Komentar
Posting Komentar