以下算法看自《編程珠璣》,由于沒看過(guò)算法書,覺得這個(gè)很有意思。
具體可以參考第一章。
在對(duì)數(shù)字進(jìn)行排序時(shí),使用這樣的方法:
如{1,2,3,5,8},可以用位(bit)來(lái)表示:
0 1 1 1 0 1 0 0 1
所以,如果數(shù)據(jù)沒有重復(fù),并且很大時(shí),就可以使用這個(gè)方法。
但現(xiàn)在還不知道如何用位,就用字節(jié)了,我采取bool來(lái)實(shí)現(xiàn):
#include<iostream>
using namespace std;
int main()
{
const int size=50;
const int size2=10;
int seq[size2]={9,2,1,3,6,12,49,20,4,19};
bool my[size]={0};
for(int i=0;i<size2;++i){
my[seq[i]]=1;
}
for(int j=0;j<size;++j){
if(my[j]==1)
cout<<j<<endl;
}
}
閱讀全文 類別:c++ 查看評(píng)論文章來(lái)源:
http://hi.baidu.com/mirguest/blog/item/97f1ea7d69af4a1b28388ada.html