Pelajaran Hidup

Inspirasi dari sebuah pengalaman dan pelajaran hidup..Semua butuh sebuah pembelajaran

Link List

//achicha_01@yahoo.com
#include
#include

using namespace std;
//template
class Node{
friend class List;
friend ostream& operator<<(ostream&, const List&); public: Node(int& t,Node* p) : info(t), berikut(p){} protected: int info; Node *berikut; }; //template
class List{
friend ostream& operator<<(ostream&, const List&); public: List() : kepala(0){} ~List(); void sisip(int t); int hapus(char& t); int kosong() {return (kepala == 0);} void cetak(); protected: Node* kepala; Node* nodeBaru(int& t,Node* p) { Node* q = new Node(t,p); return q;} }; //template
ostream& operator<<(ostream& out, const List& k) { for (Node* p = k.kepala; p; p=p->berikut)
out <<>info << "->";
out << "*\n"; return out; } //template
List::~List()
{
Node* temp;
for (Node* p = kepala; p;)
{
temp = p;
p = p->berikut;
delete temp;
}
}
//template
void List::sisip(int t)
{
cout << p =" nodeBaru(t,kepala);" kepala =" p;" t="">
int List::hapus(char& t)
{
if (kosong()) return 0; //penghapusan gagal
t = kepala->info;
Node* p = kepala;
kepala = kepala->berikut;
delete p;
return 1; //penghapusan sukses
}
//template
void List::cetak()
{
for (Node* p = kepala; p; p=p->berikut)
cout <<>info << "->";
cout << "*\n";
}

int main()
{
List x;
char data;
x.sisip('a');
cout << x;
x.sisip('b');
cout << x;
x.sisip('c');
cout << x;
x.sisip('d');
cout << x;
for (int i=0; i<5; i++){
x.hapus(data);
cout << data << "dihapus dari list :";
cout << x;
}
system("PAUSE");
return EXIT_SUCCESS;
}


0 komentar:

Posting Komentar