#include <cstdlib>
#include <iostream>
using namespace std;
class Node{
friend class List;
friend ostream& operator<<(ostream&, const List&);
public:
Node(char& t, Node*p):info(t), berikut(p){}
protected:
char info;
Node*berikut;
};
class List{
friend ostream& operator<<(ostream&, const List&);
public:
List():kepala(0){}
~List();
void sisip(char t);
int hapus (char& t);
int kosong(){return(kepala==0);}
void cetak();
protected:
Node*kepala;
Node*nodeBaru(char& t,Node*p){Node*q=new Node(t,p);return q;}
};
ostream& operator<<(ostream& out, const List& k)
{
for(Node*p=k.kepala;p;p=p->berikut)
out<<p->info<<"->";
out<<"*\n";
return out;
}
List::~List(){
Node*temp;
for(Node*p=kepala;p;){
temp=p;
p=p->berikut;
delete temp;
}
}
void List::sisip(char t){
cout<<t<<"masuk list :";
Node*p=nodeBaru(t,kepala);
kepala=p;
}
int List::hapus(char& t)
{
if (kosong())return 0;
t=kepala->info;
Node*p=kepala;
kepala=kepala->berikut;
delete p;
return 1;
}
void List::cetak(){
for(Node*p=kepala;p;p=p->berikut)
cout<<p->info<<"->";
cout<<"*\n";
}
int main(int argc, char *argv[])
{
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;
x.cetak();
}
system("PAUSE");
return EXIT_SUCCESS;
}
Senin, 10 Januari 2011
Langganan:
Posting Komentar (Atom)
Entri Populer
-
Zulkarnain (09018289) Tugas Sdata Array Dinamis menggunakan Stack,. ada dua operasi dalam Stack yaitu : - Push - Pop ...
-
#include <iostream.h> template <class T> class Array1D{ friend ostream& operator<<(ostream&,const Array1...
-
#include <cstdlib> #include <iostream> using namespace std; class Node{ friend class List; friend ostream&...
-
#include <iostream.h> class Bilangan{ friend ostream& operator<<(ostream&,const Bilangan&); friend is...
-
#include <cstdlib> #include <iostream> using namespace std; struct node { int item; node *left; node *right; }; class...
-
#include <cstdlib> #include <iostream> using namespace std; template<class T> class Kompleks{ friend class Op...
-
#include <cstdlib> #include <iostream.h> #define maks 5 class Stack{ friend ostream& operator<<(ostream...
-
#include <cstdlib> #include <iostream> #define maks5 using namespace std; class Array1D{ friend ostream& opera...
-
#include <cstdlib> #include <iostream> #define maks 5 using namespace std; class ArrayID{ friend ostream& operator<...
-
#include <cstdlib> #include <iostream> #define maks 5 using namespace std; class Que{ friend ostream& operator...
Tidak ada komentar:
Posting Komentar