description
用計算機隨機生成了n個0到1000000000(包含0和1000000000)之間的隨機整數(n≤5000000),對於其中重複的數字,只保留乙個,把其餘相同的數去掉。然後再把這些數從小到大排序。
請你完成「去重」與「排序」的工作
input
輸入有2行,第1行為1個正整數,表示所生成的隨機數的個數:
n第2行有n個用空格隔開的正整數,為所產生的隨機數。
output
輸出也是2行,第1行為1個正整數m,表示不相同的隨機數的個數。第2行為m個用空格隔開的正整數,為從小到大排好序的不相同的隨機數。
sample input
1020 40 32 67 40 20 89 300 400 15
sample output
815 20 32 40 67 89 300 400
code:
view code
#include#include
#include
int b[5000001];
int top;
typedef struct node
node,*trie;
void init(trie &p)
void add(trie &p,int m)
if(mcount)
add(q,m);
}else
add(q,m);}}
void
get(trie &p)
}int main()
top=0;
get(root);
printf("
%d\n
",top);
printf("
%d",b[0]);
for(i=1;i"
%d",b[i]);
printf("
\n");
}return0;}
hlg1287數字去重和排序II hash
大意 告訴你n個數讓你把其中重複的數字保留乙個並且排序輸出 分析 每讀入乙個數若未出現過就把這個數存起來 昨天re無數次原因是輸出的時候我是先輸出的第乙個然後把每個依次輸出 這就有乙個問題就是如果只有乙個元素的還要訪問第乙個元素從而造成re 1 include 2 include 3 include...
二叉樹和排序
二叉樹和排序 排序是演算法中最典型的一類問題,也是顯示計算機的特點的一類問題。在任何計算機演算法課程中,都會先後給出幾種著名的排序演算法。二叉樹排序是眾多排序演算法中很有趣的乙個,隨著排序二叉樹的生成過程,整個排序任務也得到了完成。下圖是兩個簡單的排序二叉樹例子 序列 3,8,1 排序二叉樹 3 1...
二叉堆和堆排序
二叉 堆是乙個陣列,它可以近似看作完全二叉樹。樹上的每乙個節點對應陣列中的乙個元素。除了最底層,該樹是完全充滿的,而且是從左向右填充。根據節點下標可以求出對應的子樹和雙親 parent i return i 2 i表示陣列中的第幾個元素,i 2 表示取整數 left i return 2 i rig...