Bu konu hakkında bir c++ kodu ile
bilgi vermek gerekirse, boyutunu kendimin belirlediği ve integer eleman eklenip
silindiği basit yapılı bir programla örnek vermek istedim .
Eklemek , saymak,
getirmek, listelemek ve çıkmak komutlarının bulunduğu programın çalışma
prensibini şekil üzerinde göstericeğm .
1. durumda
elemnların eklendiğini görüyoruz.
2. durumda ise yığın mantığı gereği
eleman slime işleminde
en üstteki elemanı alıyoruz. 3. durumda ise tekrardan eleman silindiğinde yine en
üstteki elemanın silindiğini görüyoruz.
Program çıktısi ise şu şekildedir :
Programın kodları :
#include<iostream>
using namespace std ;
class yigin {
private:
int rear;
int data;
int *dizi;
int size;
public:
yigin(int);
void ekle(int);
int say();
void listele();
void getir();
};
yigin::yigin(int
boy)
{
rear=0;
size=boy;
dizi = new int [boy];
}
void yigin::ekle(int x)
{
if(rear==size)
cout<<"yiginda yeterli alan yoktur..."<<endl;
else
{
dizi[rear]=x;
rear=rear+1;
}
}
int yigin::say()
{
return rear ;
}
void yigin::getir()
{
if(rear== 0)
cout<<"yiginda eleman yoktur.."<<endl;
else
{
cout<<"ilk elemen :"<<dizi[rear-1]<<endl;
rear=rear-1;
}
}
void yigin::listele()
{
if(rear==0)
cout<<"yigin bos ..."<<endl;
else
{int i;
for(i=0;i<rear;i++)
cout<<i+1<<". eleman : "<<dizi[i]<<endl;
}
}
int main (){
char y;
int x,a;
cout<<"kuyrugun boyutunu giriniz: "<<endl;
cin>>x;
yigin
anil(x);
while(1){
cout<<"Eklemek
--> E"<<endl<< "Saymak --> S "<<endl<<
"Getirmek
--> G"<<endl<<"Listelemek
--> L"<<endl<<"cikmak --> C"<<endl;
cin>>y;
if(y=='C')break;
switch ( y ){
case 'E':
{
cout<<"eklemek istediginiz sayiyi
giriniz:";
cin>>a;
anil.ekle(a);}break;
case'S':
cout<<"kuyrugun boyu --> "<<anil.say()<<endl;
break;
case'G':
anil.getir(); break;
case'L':
anil.listele(); break;
default: cout<<"yanlis
bir harf girdiniz."; break;
}
}
system("PAUSE");
return 0;
}
Bu şekildedir. Iyi
çalışmalar J
Hiç yorum yok:
Yorum Gönder