Ente Pengunjung Ke

7.4 Linked List Iinsertion And Deletion

=> algoritmanya :

1. menetapkan nama yang akan dimasukkan dan pointer ke kepala daftar

2. menginisialisasi simpul sebelumnya nihil dan arus simpul pointer ke kepala daftar

3. daftar pencarian untuk posisi penyisipan nama yang akan dimasukkan dan pointer retrun untuk logis predeccessor dan penggantinya node mereka

4. membuat node baru

5. menyimpan nama yang akan dimasukkan ke dalam simpul baru

6. menyesuaikan pointer yang dimasukkan node sehingga pointer sehingga menunjuk ke penerus logis

7. jika tidak memasukkan nama baru di depan daftar kemudian

8. kembali daftar diperbarui dan listhead


=> program nya :

#include <cstdlib>
#include <iostream>


using namespace std;


class stak
{
public:
stak();
void push();
void pop();
void cetak();
private:
int top;
char stack[6]; // asumsi max stack 100
char x;
};


stak::stak()
{
top=-1;
}
void stak::push()
{
if(top==5) cout<<"stack penuh";
else {
cout << "Masukkan satu karakter ";
cin >> x;
top++;
stack[top] = x;
}}


void stak::pop()
{
if(top < 0)
{
cout << "Stack kosong" << endl;
return;
}
x = stack[top];
top--;


cout << "Karakter yang di 'POP' adalah : " << x << endl;
}


void stak::cetak()
{
if(top < 0)
{
cout << "Stack kosong" << endl;
return;
}

int i = 0;
for(i = top; i >= 0; i--)
cout << stack[i] << endl;
}

int main(int argc, char** argv) {

int input;
stak a;
cout << "MASUKKAN PILIHAN : " << endl;
cout << "\tpush = 1" << endl;
cout << "\tpop = 2" << endl;
cout << "\tcetak = 3" << endl;
cout << "\tquit = 4" << endl;


while(true)
{
cout << "\nMasukkan pilihan: ";


cin>>input;


if(input==1)
{
a.push();
}
else if(input == 2)
{
a.pop();
}
else if(input == 3)
{
a.cetak();
}
else if(input == 4)
{
break;
}
else
{
cout << "Perintah '" << input << "' tidak dikenal" <<endl;
}
}
return 0;
}

0 komentar:

Diberdayakan oleh Blogger.