act3.cpp
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
typedef struct Tnode{
int value;
Tnode *next;
Tnode *back;
};
Tnode *baru, *bantu, *head, *tail;
void tambah(int value){
baru = new Tnode;
baru->next = baru;
baru->back = baru;
baru->value = value;
}
void tambahbelakang(int value){
tambah(value);
if(head == NULL)
head = tail = baru;
else{
tail->next = baru;
baru->back = tail;
tail = baru;
}
tail->next = head;
head->back = tail;
}
void tambahdepan(int value){
tambah(value);
if(head == NULL)
head = tail = baru;
else{
baru->next = head;
head->back = baru;
head = baru;
}
tail->next = head;
head->back = tail;
}
void cetak(){
bantu = head;
do{
printf("%d",bantu->value);
bantu = bantu->next;
}
while(bantu!=head);
}
void menu(){
int pil;
int isi;
do{
printf("\nMenu :\n1.Masuk dari depan\n2.Masuk dari belakang\n3.cetak\n4.exit\nMasukan pilihan Anda : ");
scanf("%d",&pil);
switch(pil){
case 1 :
printf("Masukan Nilai : ");
scanf("%d",&isi);
tambahdepan(isi);
break;
case 2 :
printf("Masukan Nilai : ");
scanf("%d",&isi);
tambahbelakang(isi);
break;
case 3 :
cetak();
printf("\n");
break;
case 4 :
printf("Terima Kasih");
break;
default:
printf("Tidak ada pilihan tersebutm masukan angka dari 1 sampai 3");
}
}
while(pil!=4);
}
int main()
{
menu();
return 0;
}
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
typedef struct Tnode{
int value;
Tnode *next;
Tnode *back;
};
Tnode *baru, *bantu, *head, *tail;
void tambah(int value){
baru = new Tnode;
baru->next = baru;
baru->back = baru;
baru->value = value;
}
void tambahbelakang(int value){
tambah(value);
if(head == NULL)
head = tail = baru;
else{
tail->next = baru;
baru->back = tail;
tail = baru;
}
tail->next = head;
head->back = tail;
}
void tambahdepan(int value){
tambah(value);
if(head == NULL)
head = tail = baru;
else{
baru->next = head;
head->back = baru;
head = baru;
}
tail->next = head;
head->back = tail;
}
void cetak(){
bantu = head;
do{
printf("%d",bantu->value);
bantu = bantu->next;
}
while(bantu!=head);
}
void menu(){
int pil;
int isi;
do{
printf("\nMenu :\n1.Masuk dari depan\n2.Masuk dari belakang\n3.cetak\n4.exit\nMasukan pilihan Anda : ");
scanf("%d",&pil);
switch(pil){
case 1 :
printf("Masukan Nilai : ");
scanf("%d",&isi);
tambahdepan(isi);
break;
case 2 :
printf("Masukan Nilai : ");
scanf("%d",&isi);
tambahbelakang(isi);
break;
case 3 :
cetak();
printf("\n");
break;
case 4 :
printf("Terima Kasih");
break;
default:
printf("Tidak ada pilihan tersebutm masukan angka dari 1 sampai 3");
}
}
while(pil!=4);
}
int main()
{
menu();
return 0;
}
#include <stdio.h> #include <conio.h> #include <stdlib.h> typedef struct Tnode{ int value; Tnode *next; Tnode *back; }; Tnode *baru, *bantu, *head, *tail; void tambah(int value){ baru = new Tnode; baru->next = baru; baru->back = baru; baru->value = value; } void tambahbelakang(int value){ tambah(value); if(head == NULL) head = tail = baru; else{ tail->next = baru; baru->back = tail; tail = baru; } tail->next = head; head->back = tail; } void tambahdepan(int value){ tambah(value); if(head == NULL) head = tail = baru; else{ baru->next = head; head->back = baru; head = baru; } tail->next = head; head->back = tail; } void cetak(){ bantu = head; do{ printf("%d",bantu->value); bantu = bantu->next; } while(bantu!=head); } void menu(){ int pil; int isi; do{ printf("\nMenu :\n1.Masuk dari depan\n2.Masuk dari belakang\n3.cetak\n4.exit\nMasukan pilihan Anda : "); scanf("%d",&pil); switch(pil){ case 1 : printf("Masukan Nilai : "); scanf("%d",&isi); tambahdepan(isi); break; case 2 : printf("Masukan Nilai : "); scanf("%d",&isi); tambahbelakang(isi); break; case 3 : cetak(); printf("\n"); break; case 4 : printf("Terima Kasih"); break; default: printf("Tidak ada pilihan tersebutm masukan angka dari 1 sampai 3"); } } while(pil!=4); } int main() { menu(); return 0; }