Contoh Program C++ Menggunakan Double Linked List 2
1. Implementasikan operasi dasar Double Linked List : Menyisipkan sebelum simpul tertentu. Tambahkan kondisi jika data yang disisipkan sebelumnya adalah data pertama.
#include <iostream>
using namespace std;
struct Node{
int val;
Node *next;
Node *prev;
};
Node *front, *rear, *cur, *del, *newNode, *afterNode;
int totalNode = 0;
void create(int val);
void insert(int val);
void remove();
void print();
int main(){
int pilih,input, pos;
begin :
cout << "1) Print Data\n2) Masukkan Data\n3) Hapus Data Front\n4) Exit\n=====================\nPilih Program : ";
cin>>pilih;
cout << endl;
switch(pilih){
case 1:
print();
break;
case 2:
cout << "Masukan Nilai : ";
cin>>input;
insert(input);
break;
case 3:
remove();
break;
case 4:
exit(0);
break;
default:
cout << "Pilih 1-4 !!!" << endl;
}
cout << endl;
goto begin;
return 0;
}
void create(int val){
front = new Node();
front->val = val;
//transversing
front->prev = NULL;
front->next = NULL;
rear = front;
totalNode++;
}
void insert(int val){
if(totalNode == 0){
create(val);
return;
}
newNode = new Node();
newNode->val = val;
//transversing
front->prev = newNode;
newNode->next = front;
newNode->prev = NULL;
front = newNode;
totalNode++;
cout << "Data yang baru dimasukan diletakkan SEBELUM data Pertama" << endl << endl;
}
void remove(){
del = front;
front = front->next;
front->prev = NULL;
delete del;
cout << "Data terdepan berhasil dihapus" << endl;
totalNode--;
}
void print(){
cur = front;
cout << "| ";
while(cur != NULL){
cout << cur->val << " | ";
cur = cur->next;
}
cout << endl;
}
0 comments:
Posting Komentar