第24講 set・sortによる並び替え
第2話 setのサイズの取得とコピー
コードにさらにピンクを加えます。
#include<iostream>
#include<set>
#include<stdlib.h>
using namespace std;
int main(){
set<int> s; //int型のセットsを宣言。sは配列に似ているが[]内添え字では制御できない。
s.insert(5); //値の代入はinsertを使う。
s.insert(2);
s.insert(7);
s.insert(3);
s.insert(8);
set<int>::iterator i; //セットの制御にはイテレータを使う。
for(i=s.begin();i!=s.end();i++)cout<<*i<<" "; //ポインタの使い方に似ている。
cout<<endl;
int a;
a=s.size();
cout<<"セットのサイズ"<<a<<endl;
}
s.size()でセットsのサイズを取得できます。
さらに、紺のコードを付け加えます。
#include<iostream>
#include<set>
#include<stdlib.h>
using namespace std;
int main(){
set<int> s; //int型のセットsを宣言。sは配列に似ているが[]内添え字では整序できない。
s.insert(5); //値の代入はinsertを使う。
s.insert(2);
s.insert(7);
s.insert(3);
s.insert(8);
set<int>::iterator i; //セットの制御にはイテレータを使う。
for(i=s.begin();i!=s.end();i++)cout<<*i<<" "; //ポインタの使い方に似ている。
cout<<endl;
int a;
a=s.size();
cout<<"セットのサイズ:"<<a<<endl;
set<int> t(s);
for(i=t.begin();i!=t.end();i++)cout<<*i<<" ";
cout<<endl;
}
set<int> t(s);でセットsの内容をセットtにコピーできるわけです。
一つ言い落としました。
i=t.begin()などではセットのデータのアドレスを取得しますので、
その内容を表示するのに*iを使うわけです。
それでは皆さん、setを利用して並び替えの本格的なソフトを作りましょう。
現次元での最速は、最大値(最小値)排除繰り返し法シングルスレッドですが、
ライブラリにあるsetであるので、遙かに凌いで高速であることが予想されます。
第1話へ 第3話へ
C言語 C++講義第1部へ
C言語 C++講義第2部へ
VB講義へ
VB講義基礎へ
vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)