- Beranda
- Komunitas
- Tech
- Programmer Forum
Halo master, bantu saya memahami cara kerja tentang container "set" di C++.. dong


TS
kuanvidravx8
Halo master, bantu saya memahami cara kerja tentang container "set" di C++.. dong
Saya nubie sedang belajar C++, seblumnya maaf bila kiranya ada kesalahan. Saat ini saya berusaha mempelajari jenis-jenis container dalam C++ klo gak salah dalam programming ada dua macam jenis containers yaitu sequential containers dan Associative Containers.
Saya agak mudeng memahami di Associative Containers saat ini, saat ini tentang memahami set.
Masalahnya hampir gak ada tuto tentang set ini hingga sulit bagi ane tuk paham.
Gan sebenarnya gimana si cara kerja set tersebut baik element dan valuenya..?, dia klo gak salah memiliki binary tree alogaritsm di dalamnya lalu apa kegunaanya saat kita menciptakan element di dalamnya.
Ini diskripsi yg sy dapat tentang set, jelas gak cukup rasanya nubie bisa memahaminya :
Set is a Sorted Associative Container that stores objects of type Key. Set is a Simple Associative Container, meaning that its value type, as well as its key type, is Key. It is also a Unique Associative Container, meaning that no two elements are the same. Maksudnya..?
sebagi example ane ketemu contoh codingan tentang set , saya ambil dr tutorial CodingMadeEasy :
#include <iostream>
#include <set>
#include <string>
#include <iterator>
int main ( )
{
std::set <std::string> names;
typedef std::set <std::string> ::iterator it;
it iterator;
// memasukkan value element. di container set:
names.insert ("Peter");
names.insert ("CodingMadeEasy");
for (iterator = names.begin ( ) ; iterator !=names.end( ); iterator++) {
std: :cout<<*iterator<<std: :endl;
}
return 0;
}
output program diatas adalah :
CodingMadeEasy
Peter
kenapa bisa ..? gimana alur element set tersebut.
Lalu solusi kedua, yaitu memodifikasi element set dengan BOOL ditaruh di parameter nya, kok bisa apa maksud BOOL value ini, gimana cara kerja value BOOL tersebut di dalam set..?
Apakah setiap Associative container ada value BOOL, dan bisa dimasukkan type data tambahan semacam itu..?
seperti contoh :
#include <iostream>
#include <set>
#include <string>
#include <iterator>
struct SortOrder
{
bool operator (const std : : string &fist, const std : : string &second)
{
int lenght1 = first.lenght ( );
int lenght2 = second.lenght ( );
if (lenght1 == lenght2)
return (first<second);
return ( lenght1 < lenght2 );
}
}
int main ( )
{
std::set <std::string> names;
typedef std::set <std::string, SortOrder > ::iterator it;
it iterator;
// memasukkan value element. di container set:
names.insert ("Peter");
names.insert ("CodingMadeEasy");
for (iterator = names.begin ( ) ; iterator !=names.end( ); iterator++) {
std: :cout<<*iterator<<std: :endl;
}
return 0;
}
Setelah memasukkan nilai Bool di dalam parameter set output jadi seperti sequential first in, first out. gak kebalik lagi
Peter
CodingMadeEasy
Oke gan tolong minta petunjuknya ya, klo gak keberatan nubie harap master ajari tentang container set tersebut ya..?
Saya agak mudeng memahami di Associative Containers saat ini, saat ini tentang memahami set.
Masalahnya hampir gak ada tuto tentang set ini hingga sulit bagi ane tuk paham.
Gan sebenarnya gimana si cara kerja set tersebut baik element dan valuenya..?, dia klo gak salah memiliki binary tree alogaritsm di dalamnya lalu apa kegunaanya saat kita menciptakan element di dalamnya.
Ini diskripsi yg sy dapat tentang set, jelas gak cukup rasanya nubie bisa memahaminya :
Set is a Sorted Associative Container that stores objects of type Key. Set is a Simple Associative Container, meaning that its value type, as well as its key type, is Key. It is also a Unique Associative Container, meaning that no two elements are the same. Maksudnya..?
sebagi example ane ketemu contoh codingan tentang set , saya ambil dr tutorial CodingMadeEasy :
#include <iostream>
#include <set>
#include <string>
#include <iterator>
int main ( )
{
std::set <std::string> names;
typedef std::set <std::string> ::iterator it;
it iterator;
// memasukkan value element. di container set:
names.insert ("Peter");
names.insert ("CodingMadeEasy");
for (iterator = names.begin ( ) ; iterator !=names.end( ); iterator++) {
std: :cout<<*iterator<<std: :endl;
}
return 0;
}
output program diatas adalah :
CodingMadeEasy
Peter
kenapa bisa ..? gimana alur element set tersebut.
Lalu solusi kedua, yaitu memodifikasi element set dengan BOOL ditaruh di parameter nya, kok bisa apa maksud BOOL value ini, gimana cara kerja value BOOL tersebut di dalam set..?
Apakah setiap Associative container ada value BOOL, dan bisa dimasukkan type data tambahan semacam itu..?
seperti contoh :
#include <iostream>
#include <set>
#include <string>
#include <iterator>
struct SortOrder
{
bool operator (const std : : string &fist, const std : : string &second)
{
int lenght1 = first.lenght ( );
int lenght2 = second.lenght ( );
if (lenght1 == lenght2)
return (first<second);
return ( lenght1 < lenght2 );
}
}
int main ( )
{
std::set <std::string> names;
typedef std::set <std::string, SortOrder > ::iterator it;
it iterator;
// memasukkan value element. di container set:
names.insert ("Peter");
names.insert ("CodingMadeEasy");
for (iterator = names.begin ( ) ; iterator !=names.end( ); iterator++) {
std: :cout<<*iterator<<std: :endl;
}
return 0;
}
Setelah memasukkan nilai Bool di dalam parameter set output jadi seperti sequential first in, first out. gak kebalik lagi
Peter
CodingMadeEasy
Oke gan tolong minta petunjuknya ya, klo gak keberatan nubie harap master ajari tentang container set tersebut ya..?

Diubah oleh kuanvidravx8 06-01-2014 23:04
0
2.5K
6


Komentar yang asik ya
Urutan
Terbaru
Terlama


Komentar yang asik ya
Komunitas Pilihan