c++算法之哈希表
啥是哈希表
哈希表,类似散列表,是一种存储数据的一种方式。只能说是有点奇葩。
他是通过将值转换成数组的下标,也就是f[x]=x的意思,大家估计都能理解吧😃。
所以他可以通过这样的方式存储后遍历数组就可以发现他家可以自动排序,而且只需O(n)时间复杂度。
但是所需要的空间式数据中的最大值。
输入数据5 2 3 f1=0 f2=2 f3=3 F4=0 f5=5 正序遍历排除0得到结果2 3 5
所以,小代码来喽
1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 int a;int f[10]; 6 int n; 7 cin>>n; 8 for(int i=1;i<=n;i++) 9 cin>>a;f[a]++; 10 for(int i=1;i<=10;i++) 11 if(f[i]!=0) cout<<i<<endl; 12 13 return 0; 14 }