Remove duplicate elements: Difference between revisions
Content added Content deleted
(reworded task) |
No edit summary |
||
Line 6: | Line 6: | ||
==[[C++]]== |
==[[C++]]== |
||
[[Category:C++]] |
[[Category:C++]] |
||
#include <set> |
|||
#include <iostream> |
|||
C++ with STL using Microsoft Visual C++ 2005 |
|||
using namespace std; |
using namespace std; |
||
int |
int main( int argc, char* argv[] ) { |
||
typedef set<int> TyHash; |
|||
⚫ | |||
int data[] = {1, 2, 3, 2, 3, 4}; |
|||
sort(ary.begin(), ary.end()); |
|||
⚫ | |||
ary.erase(unique(ary.begin(), ary.end()), ary.end()); |
|||
cout << "Set items:" << endl; |
|||
for (TyHash::iterator iter = hash.begin(); iter != hash.end(); iter++) |
|||
cout << *iter << " "; |
|||
cout << endl; |
|||
} |
|||
==[[Java]]== |
==[[Java]]== |
||
Line 43: | Line 47: | ||
uniq_ary = ary.uniq |
uniq_ary = ary.uniq |
||
# => [1, 2, "redundant", [1, 2, 3]] |
# => [1, 2, "redundant", [1, 2, 3]] |
||
==[[D]]== |
|||
[[Category:D]] |
|||
void main() { |
|||
int[] data = [1, 2, 3, 2, 3, 4]; |
|||
int[int] hash; |
|||
foreach(el; data) |
|||
hash[el] = 0; |
|||
} |
Revision as of 14:00, 24 January 2007
Remove duplicate elements
You are encouraged to solve this task according to the task description, using any language you may know.
You are encouraged to solve this task according to the task description, using any language you may know.
Given an Array, derive an Array containing only the unique elements; that is, derive an array in which all duplicate elements are removed.
C++
#include <set> #include <iostream> using namespace std; int main( int argc, char* argv[] ) { typedef set<int> TyHash; int data[] = {1, 2, 3, 2, 3, 4}; TyHash hash(data, data + 6); cout << "Set items:" << endl; for (TyHash::iterator iter = hash.begin(); iter != hash.end(); iter++) cout << *iter << " "; cout << endl; }
Java
//Using Java 1.5/5.0 Object[] data = new Object[] {1, 2, 3, "a", "b", "c", 2, 3, 4, "b", "c", "d"}; Set uniqueSet = new HashSet(Arrays.asList(data)); Object[] unique = uniqueSet.toArray();
Perl
Interpeter: Perl
my %hash; my @list = (1, 2, 3, 'a', 'b', 'c', 2, 3, 4, 'b', 'c', 'd'); @hash{@list} = 1; # the keys of %hash now contain the unique list my @unique_list = keys(%hash);
Python
data = [1, 2, 3, 'a', 'b', 'c', 2, 3, 4, 'b', 'c', 'd']
Using sets
unique = list(set(data))
See also http://www.peterbe.com/plog/uniqifiers-benchmark and http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52560
Ruby
ary = [1,1,2,1,'redundant',[1,2,3],[1,2,3],'redundant'] uniq_ary = ary.uniq # => [1, 2, "redundant", [1, 2, 3]]
D
void main() {
int[] data = [1, 2, 3, 2, 3, 4]; int[int] hash; foreach(el; data) hash[el] = 0;
}