Senin, 02 Januari 2012

Contoh program Single Linked List

#include <iostream>
using namespace std;
class LinkList{
private:
struct node{
int data;
node *next;
};
node *head;

public:
LinkList();
void insertData(int num);
void deleteData (int num);
void displayData();
int count();
~LinkList();

};
LinkList::LinkList()
{
head=NULL;
}
void LinkList::insertData(int num)
{
node *temp;
node *t;
if( head == NULL)
{
head = new node;
head->data = num;
head->next = NULL;
}
else
{
temp = head;
while(temp->next != NULL)
{
temp = temp->next;
}
t = new node;
t->data = num;
t->next = NULL;
temp->next = t;
}
}
void LinkList::deleteData(int num)
{
node *q, *r;
q= head;
if(q->data == num)
{
head = q->next;
delete q;
return;
}
r = q;
while(q!= NULL)
{
if(q->data == num )
{
r->next = q->next;
delete q;
return;
}
r = q;
q = q->next;
}
cout << ” Nilai ” << num << “tidak ditemukan”;
}
void LinkList::displayData()
{
node *q;
for(q=head; q != NULL; q=q->next)
{
cout<<q->data<<endl;
}
}

int LinkList::count()
{

node *q;
int c=0;
for( q=head ; q != NULL ; q = q->next )
c++;
return c;
}

LinkList::~LinkList()
{
node *q;
if(head == NULL)
{
return;
}
while(head != NULL)
{
q = head->next;
delete head;
head = q;
}

}

int main()
{ LinkList list;
int temp;
int pilihan;
while(1)
{
cout<<”Link List Single”<<endl;
cout<<”1.Insert / Creation”<<endl;
cout<<”2.Delete Element”<<endl;
cout<<”3.View Element”<<endl;
cout<<”4.Count Element”<<endl;
cout<<”5.Exit”<<endl;

cout<<”Enter your choice:”;
cin>>pilihan;
switch(pilihan)
{  cout<<endl;
case 1:
cout<<”Insert Element Data”;
cin>>temp;
list.insertData(temp);
break;
case 2:
cout<<”Delete Element :”;
cin>>temp;
list.deleteData(temp);
break;
case 3:
list.displayData();
break;
case 4:
cout<<”Number Total Element at List : “<<list.count()<<endl;
break;
case 5:
return 0;
}

}
}

[\code]

Tidak ada komentar:

Posting Komentar