#include<iostream>
#include<vector>
# include <iterator>
using namespace std;
vector<int> V; //Deklarasi dari sebuah vektor dengan elemen-elemen int
int main()
{
cout<<"Masukkan 5 integer: "<<endl;
istream_iterator <int> readit(cin); //input iterator
/*Berikut adalah fungsi push_back() yang dipakai untuk menambahkan elemen-elemen
di belakang sebuah vektor V.*/
V.push_back (*readit++);
V.push_back (*(readit++));
V.push_back (*(readit++));
V.push_back (*(readit++));
V.push_back (*(readit));
cout<<"Elemen-elemen dari V adalah: ";
vector<int>:: iterator iter = V.begin();
/*vector adalah nama kelas, iterator adalah katakunci. iter adalah nama iterator.
Fungsi begin() menghasilkan iterator yang menunjuk ke elemen pertama dari V.
Kelas vector mendukung keberadaan iterator random (acak).*/
while(iter != V.end())
//end() menghasilkan iterator yang menunjuk ke tepat setelah elemen terakhir dari vektor
cout<<*iter++ <<" "; //menampilkan nilai-nilai elemen dari vektor
return 0;
}
===========================
#include<iostream>
#include<vector>
# include <iterator>
using namespace std;
vector<int> V; //Deklarasi dari sebuah vektor dengan elemen-elemen int
int main()
{
cout<<"Masukkan 5 integer: "<<endl;
int hitung =0;
while (hitung <=4)
{
istream_iterator <int> readit(cin); //input iterator
V.push_back (*readit);
++hitung;
}
//Vektor dikonstruksi dengan menempatkan elemen-elemen di belakang vektor.
cout<<"\nElemen-elemen dari V adalah: ";
vector<int>:: iterator iter = V.begin(); // iterator didefinisikan
//iter adalah nama iterator, yang akan dipakai untuk menjelajah vektor
while(iter != V.end())
{
cout<< *iter <<" ";
iter++;
}
return 0;
}
============================
#include<iostream>
#include<deque>
#include <iterator>
using namespace std;
deque<int> Dek; //deklarasi deque dengan elemene-elemen int
int main()
{
cout<<"Masukkan 4 buah integer: "<<endl;
int hitung =0;
while (hitung < 4)
{
istream_iterator <int> readit(cin);
Dek.push_back (*readit);
++hitung;
}
int k=0;
cout<<"\nElemen-elemen dari Dek adalah: ";
while (k <4)
{
ostream_iterator <int> writeit(cout);
* writeit= * (Dek.begin()+k );
cout<<" ";
k++;
}
return 0;
}
==================================
#include<iostream>
#include<list>
using namespace std;
list<char> Lc ; //deklarasi dari sebuah list dengan nama Lc dan bertipe char
list<int> Li (7,60); //deklarasi dari sebuah list dengan Li
//list ini memiliki 7 elemen int dengan tiap nilai 60
int main()
{
for (int i=0; i<6;i++)
Lc.push_back(65+i); //Menambahkan elemen-elemen di belakang list Lc
cout<<"Elemen pertama dari Lc adalah "<<Lc.front()<<" dan elemen akhirnya adalah "
<<Lc.back()<<endl; //menampilkan elemen pertama dan elemen akhir
list<double>Ld(3,2.5); //List Ld mempunyai tiga elemen masing-masing dengan nilai 2.5
for (int j =0; j< 3; j++)
{
Ld.push_back( 5.5); //Menambahkan 3 elemen, dengan nilai 10.5, di belakang list
Ld.push_front( 10.5);
} //Menambahkan 3 elemen, dengan nilai 10.5, di depan list
cout<<"Lc = ";
list<double>::iterator itrd; //iterator untuk list double
list<int>:: iterator itri; //deklarasi iterator untuk list int
list <char>:: iterator itrc; //iterator untuk list char
for(itrc= Lc.begin(); itrc!=Lc.end(); itrc++)
cout << *itrc <<" "; //menampilkan elemen-elemen dari list Lc.
cout<<"\nLi = ";
for(itri= Li.begin(); itri!=Li.end(); itri++)
cout<<*itri<<" "; // menampilkan elemen-elemen dari list Li.
cout<<"\n Ld = ";
for(itrd= Ld.begin(); itrd!=Ld.end(); itrd++)
cout<<*itrd<<" "; //menampilkan elemen-elemen dari list Ld.
cout<<"\nElemen pertama dari Ld = " <<*(Ld.begin())<<endl;
cout<<"\nElemen ketiga dari Ld dari awal = "<<*(++(++ Ld.begin())) ;
//kelas list tidak mendukung akses acak
cout<<"\nElemen ketiga dari Ld dari akhir = "<< * (--(-- Ld.end()))<<endl;
return 0;
}
=================================
#include<iostream>
using namespace std;
#include<map>
#include<string>
typedef map <string, int> Mint;
/*typedef digunakan untuk menghindari penulisan map<string, int> berulangkali.
Pada deklarasi, kunci adalah sebuah string dan nilai int.*/
int main()
{
string Nama;
int Skor;
Mint Nilai; //Nilai adalah nama map
for (int i = 0; i<4; i++)
{
cout<<"Masukkan Nama: ";
cin>>Nama;
cout<<"Masukkan Skor: ";
cin>>Skor;
Nilai[Nama] = Skor;
} //membuat pasangan-pasangan nilai
Mint :: iterator iter; // deklarasi iterator
for(iter = Nilai.begin(); iter != Nilai.end(); iter++)
cout<<(*iter).first<<"\t"<<(*iter).second<<"\n";
/*first adalah kunci dan second adalah nilai. Operator dot dipakai
untuk memilih first dan second.*/
return 0;
}
=============================
#include<iostream>
#include<stack>
using namespace std;
void main()
{
stack<int> St1 ; //St1 dideklarasikan sebagai tumpukan integer
for (int i =1; i< 7; i++) // konstruksi tumpukan oleh fungsi push()
St1.push (10* i);
//Elemen-elemen yang diisikan adalah 10, 20, 30, 40, 50, 60
//Pada tumpukan, tatanannya adalah LIFO
cout <<"Elemen teratas pada St1 = "<<St1.top()<<endl;
cout<<"Ukuran dari tumpukan adalah = "<<St1.size()<<endl;
cout<<"Elemen-elemen dari St1 adalah: ";
while(!St1.empty()) //statemen untuk menampilkan elemen-elemen tumpukan
{
cout<<St1.top()<<" ";
St1.pop() ;
} //menghapus elemen teratas
}
==============================
#include<iostream>
#include<stack>
#include <string>
using namespace std;
void main()
{
stack<int> Ski ; //deklarasi tumpukan integer
stack<char> Sch; //deklarasi tumpukan char
stack<string> Skt ; //deklarasi tumpukan string
string Nama[4]={"Jakarta", "Medan", "Surabaya", "Bandung"};
char ch[4] = {'B', 'A', 'C', 'T'};
int Array[5] = { 10, 40, 60,20,10 };
for (int i = 0;i < 4; i++)
{
Ski.push (Array[i]); //menempatkan 4 elemen pada tumpukan Ski
Sch.push (ch[i]); //menempatkan 4 elemen pada tumpukan Sch
Skt.push (Nama[i]); //menempatkan 4 elemen pada tumpukan Skt
}
cout <<"Elemen teratas pada Skt = "<<Skt.top()<<endl;
cout <<"Elemen teratas pada Sch = "<<Sch.top()<<endl;
cout <<"Elemen teratas pada Ski = "<<Ski.top()<<endl;
cout<<"Ukuran dari tumpukan Skt adalah = "<<Skt.size()<<endl;
cout<<"Elemen-elemen dari ketiga tumpukan adalah sebagai berikut: "<<endl;
for (int j = 0;j < 4; j++)
{
cout<<Skt.top()<<"\t"<< Sch.top()<<"\t"<<Ski.top()<<"\n";
Skt.pop() ; //menghapus elemen teratas pada Skt
Sch.pop(); //menghapus elemen teratas pada Sch
Ski.pop(); //menghapus elemen teratas pada Ski
}
}
=========================================
#include<iostream>
#include<stack>
using namespace std;
#include <vector>
int main()
{
stack <int, vector <int> > Tumpukan1, Tumpukan2, Tumpukan3;
//Deklarasi tumpukan int
//Kontainer yang digunakan adalah vektor
int Array1[] = {12, 13, 14, 15, 16};
int Array2[] = {40, 60, 20, 10, 50};
for ( int i = 0;i < 5; i++)
{
Tumpukan1.push (Array1[i]);
Tumpukan2 .push (Array2[i]);
}
Tumpukan3 = Tumpukan2; // Tumpukan2 ditugaskan kepada Tumpukan3
cout<<"Ukuran dari Tumpukan3 adalah = "<<Tumpukan3 .size()<<endl;
if ( Tumpukan2 == Tumpukan3 ) // relational == operator
cout<< "Tumpukan3 dan Tumpukan2 sama.\n";
else
cout<<"Tumpukan3 dan Tumpukan2 tidak sama.\n";
Tumpukan3.push(80); //menambahkan elemen lain pada tumpukan
cout <<"Sekarang ukuran dari Tumpukan3 = "<<Tumpukan3.size()<<endl;
for ( int j = 0;j < 6; j++) //untuk menampilkan elemen-elemen tumpukan
{
cout<<Tumpukan3.top()<<" " ; //menampilkan elemen teratas pada Tumpukan3
Tumpukan3.pop(); // menghapus elemen teratas dari Tumpukan3
}
cout<<endl;
return 0;
}
=================================
#include<iostream>
#include<queue>
using namespace std;
void main()
{
queue <int> Q ;
for (int i =1; i<7; i++)
Q.push (10* i);
//Pada antrian, tidak ada fungsi top(), tetapi yang dimiliki
//adalah fungsi front().
//Penampilan elemen-elemen dari depan antrian diilustrasikan
//di bawah ini.
cout<<"Elemen di depan antrian Q adalah = "<<Q.front()<<endl;
cout<<"Ukuran dari antrian Q adalah = "<<Q.size()<<endl;
cout<<"Elemen-elemen dari Q adalah: ";
while(!Q.empty()) //statemen keluaran untuk antrian
{
cout<<Q.front()<<" ";
Q.pop();
}
cout<<endl;
}
==============================
#include<iostream>
#include<queue>
using namespace std;
int main()
{
queue<int> q2,q3 ;
queue<double> q1;
for (int i =0; i< 6; i++)
{
q1.push (1.5*i);
q2.push (i*i);
}
q3 = q2; //operator penugasan
if( q2 == q3)
cout<<"Sekarang antrian q2 dan q3 sama."<<endl;
else
cout<<"Sekarang antrian q2 dan q3 tidak sama."<<endl;
cout<<"Elemen-elemen antrian q2 adalah: ";
while(!q2.empty())
{
cout<<q2.front()<<" " ;
q2.pop();
}
cout<<"\n";
cout<<"Elemen-elemen antrian q3 adalah: ";
while(!q3.empty())
{
cout<<q3.front()<<" " ;
q3.pop();
}
cout<<"\n";
if( q2 == q3)
cout<<"Antrian q2 dan q3 sama."<<endl;
else
cout<<"Antrian q2 dan q3 tidak sama."<<endl;
cout<<"menempatkan elemen lain, 10, ke dalam q3 \n";
q3.push (10);
cout<<"Elemen-elemen antrian q3 adalah: ";
while(!q3.empty())
{
cout<<q3.front()<<" " ;
q3.pop();
}
cout <<"\n";
cout<<"Elemen-elemen antrian q1 adalah: ";
while(!q1.empty())
{
cout<<q1.front()<<" " ;
q1.pop();
}
cout <<"\n";
return 0;
}
=======================================
#include<iostream>
#include<queue>
using namespace std;
void main()
{
priority_queue <int> PQ ; //deklarasi antrian prioritas
int Array[6] = {10, 80, 90, 20, 40, 70};
for ( int i =0; i<6; i++)
PQ.push (Array[i]);
//pada antrian prioritas, tidak ada front(), tetapi yang ada top()
cout<<"Elemen di atas (depan) antrian PQ = "<<PQ.top()<<endl;
cout<<"Ukuran dari antrian PQ adalah = "<<PQ.size()<<endl;
cout<<"Elemen-elemen dari PQ adalah: ";
while(!PQ.empty())
{
cout<<PQ.top()<<" ";
PQ.pop();
}
cout<<endl;
}
===========================================
#include<iostream>
#include<algorithm>
#include<functional>
using namespace std;
bool Ganjil(int n) //definisi dari fungsi untuk nilai-nilai ganjil
{
return n%2 ? true : false;
}
bool Genap(int m ) //definisi dari fungsi untuk nilai-nilai genap
{
return !(m%2) ? true: false;
}
int main()
{
int S[] = {5, 6, 8, 7, 4, 3, 8, 10, 11, 12};
int n = count_if(S, S+10, Genap);
/*count_if() adalah sebuah algoritma. Genap adalah alamat dari
(pointer yang menunjuk ke) fungsi Genap(). Fungsi count_if diimplementasikan
jika elemen memenuhi fungsi Genap*/
cout<<"Jumlah elemen genap pada S adalah = "<<n<<endl;
int K = count_if(S, S+10, Ganjil);
/*Ganjil adalah alamat dari
(pointer yang menunjuk ke) fungsi Ganjil(). Fungsi count_if diimplementasikan
jika elemen memenuhi fungsi Ganjil*/
cout<<"Jumlah elemen ganjil pada S adalah = "<<K<<endl;
return 0;
}
==============================================
#include<iostream>
#include<algorithm>
using namespace std;
template <class T>
class LBS { // LBS = Lebih Besar atau Sama dengan
private :
T x;
public :
LBS (T A){x = A;} //konstruksi fungsi
bool operator() (T y)
{return y >= x ? true :false;}
}; // akhir kelas
int main()
{
LBS <int> lbs(30); //lbs dideklarasikan sebagai objek dari LBS untuk int
LBS <double> lbs2(25.0); //lbs2 adalah objek untuk double 25.0
int S[] = {10, 20, 30, 36, 44, 60, 70};
double SD[] = {3.5, 27.5, 22.6, 56.7, 80.0, 90.7, 65.5, 35.5};
//count_if() adalah sebuah algoritma
int m = count_if(S, S+7, lbs); //di sini lbs adalah predikat
cout<<"Jumlah elemen dengan S >= 30 adalah = "<<m<<endl;
int n = count_if(SD, SD+8, lbs2); //di sini lbs2 adalah predikat
cout<<"Jumlah elemen dengan SD >= 25.0 adalah = "<<n<<endl;
return 0;
}
====================================
#include<iostream>
#include<algorithm>
#include<functional> //file header untuk predikat-predikat pustaka
using namespace std;
int main()
{
int S[8] = {5, 6, 8, 7, 4, 3, 8, 9};
char ch [] = {'A', 'Z', 'C', 'M', 'G', 'K', 'T'};
sort(S, S+8, less<int>()); //menata dengan urutan menaik
sort(ch, ch+7, greater<int>()); //menata dengan urutan menurun
for (int i =0; i<8;i++)
cout<<S[i]<<" ";
cout <<endl;
for (int j =0; j< 7 ; j++)
cout << ch[j]<<" ";
cout<<endl;
return 0;
}
=========================================
#include<iostream>
#include<algorithm>
#include<functional>
using namespace std;
template <class T>
struct LbhBesar: binary_function< T, T, bool> {
bool operator ()(const T & x, const T& y) const
{
return ( x >y );
}
};
int main()
{
int S[10] = {5, 6, 8, 7, 4, 3, 8, 9, 12, 14};
int n = count_if( S, S +10, bind2nd(LbhBesar<int>(), 7));
cout<<"Jumlah elemen yang lebih besar dari 7 adalah: "<<n<<endl;
return 0;
}
===================================
#include<iostream>
#include<algorithm>
using namespace std;
#include<functional>
int main()
{
int S[] = {5, 6, 8, 7, 8, 3, 8, 10, 8, 12};
int n = count_if(S, S+10, bind2nd(greater<int>(),7));
cout<<"Jumlah elemen yang lebih besar dari 7 adalah: "<<n<<endl;
int m = count_if(S, S+10, bind2nd(less<int>(),10));
cout<<"Jumlah elemen yang lebih kecil dari 10 adalah: "<<m <<endl;
return 0;
}
Tidak ada komentar:
Posting Komentar