Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as C++ by daud ( 6 years ago )
include<iostream>#include<cstdlib>#include<string>usingnamespacestd;constint MAKS =10;classStack{private:inttop;
intn=0;stringtumpukanData[MAKS];public:voidinit();boolisEmpty();boolisFull();voidpush(stringdata_masuk);voidpop(string&data_keluar);voidprintStack();intclear();boolsorting();boolsorting1();};voidStack::init(){ top =-1;}boolStack::isEmpty(){return top ==-1;}boolStack::isFull(){return top == MAKS -1;}voidStack::push(string data_masuk){if(isFull()){cout<<"\n Tumpukan Penuh"<<endl;}else{top++;tumpukanData[top]=data_masuk;cout<<"NAMA BERHASIL MASUK\n";n++;cout<<"SISA "<<MAKS-n<<" LAGI!!";}}voidStack::pop(string& data_keluar){if(isEmpty()){cout<<"\nData Kosong\n"<<endl;}else{data_keluar=tumpukanData[top];
n--;cout<<"NAMA "<<tumpukanData[top]<<" BERHASIL DIAMBIL\n";cout<<"SISA "<<MAKS-n<<" LAGI!!";top--;}}voidStack::printStack(){if(isEmpty()){cout<<"\nCatatan Kosong";}else{cout<<"\nTumpukan : ";for(inti=top;i>=0;i--){cout<<tumpukanData[i]<<((i==0)?"":", ");}} cout <<"\n------------------------------------";}intStack::clear(){return top =-1;}Stack UtamaAR;Stack CabangAR;intmain(){int pilihan; UtamaAR.init(); CabangAR.init();do{UtamaAR.printStack();stringuser;cout<<"\n1. Dari Kecil Ke Besar\n"<<"2. Dari Besar Ke Kecil\n"<<"3. Masukkan Data Nama\n"<<"4. Ambil nama\n"<<"5. Keluar\n"<<"Masukkan Pilihan: ";cin>>pilihan;
switch(pilihan){case1:UtamaAR.sorting();system("CLS");break;case2:UtamaAR.sorting1();system("CLS");break;case3:cout<<"\nMasukkan Data = ";cin>>user;system("CLS");UtamaAR.push(user);break;case4:system("CLS");UtamaAR.pop(user);break;default:cout<<"Byee"<<endl;if(cin.fail())return0;break;}}while(pilihan !=5);cin.get();return0;}boolStack::sorting(){string simpan;string simpan1;string DataSemen;if(UtamaAR.isEmpty()==false){for(inta=-1;a<UtamaAR.top;a++){UtamaAR.pop(simpan);while(UtamaAR.isEmpty()==false){UtamaAR.pop(simpan1);if(simpan>simpan1){CabangAR.push(simpan1);
}else{CabangAR.push(simpan);simpan=simpan1;}}UtamaAR.push(simpan);while(CabangAR.isEmpty()==false){CabangAR.pop(DataSemen);UtamaAR.push(DataSemen);}}returntrue;}else{returnfalse;}}boolStack::sorting1(){string simpan;string simpan1;string DataSemen;if(UtamaAR.isEmpty()==false){for(inta=-1;a<UtamaAR.top;a++){UtamaAR.pop(simpan);while(UtamaAR.isEmpty()==false){UtamaAR.pop(simpan1);if(simpan<simpan1){CabangAR.push(simpan1);}else{CabangAR.push(simpan);simpan=simpan1;}}UtamaAR.push(simpan);while(CabangAR.isEmpty()==false){CabangAR.pop(DataSemen);UtamaAR.push(DataSemen);}}
returntrue;}else{returnfalse;}}
Revise this Paste