去重与排序
来源:互联网 发布:网络与新媒体专业大学 编辑:程序博客网 时间:2024/05/01 09:03
input:
10
20 40 32 67 40 20 89 300 400 15
ouput:
15 20 32 40 67 89 300 400
Methods:
1. 先将这n个数字去重,再进行从小到大排序并输出,可以通过桶排序来解决. 时间复杂度是O(N+M).
Code:
#include <stdio.h>#include <stdlib.h>int main(){int book[1001];int n, i, t;for(i = 0; i < 1001; ++i){book[i] = 0;}scanf("%d", &n);for(i = 0; i < n; ++i){scanf("%d", &t);book[t] = 1;}for(i = 0; i < 1001; ++i){if(1 == book[i]){printf("%d ", i);}}system("pause");return 0;}
2. 先从小到大排序,比如用冒泡排序,输出结果的时候再去重. 时间复杂度由冒泡排序O(N^2) 和 读入输出都是O(N),因此整个时间复杂度O(N^2+2N),也即O(N^2).
Code:
#include <stdio.h>#include <string.h>#include <stdlib.h>int main(){ int book[1001]; int n, i, j, t;scanf("%d", &n); for (i = 0; i < n; ++i) { scanf("%d", &book[i]); } /// Bubble sort for (i = 0; i < n-1; ++i) { for (j = 0; j < n-i; ++j) { if (book[j] > book[j+1]) { t = book[j]; book[j] = book[j+1]; book[j+1] = t; } } } printf("%d ", book[0]); for(i = 1; i < n; ++i) { if(book[i] != book[i-1]) { printf("%d ", book[i]); } } system("pause"); return 0;}
0 0
- 去重与排序
- “去重”与“排序”
- 排序与去重
- 数组去重与排序
- 数字“排序”与“去重”
- oracle之去重与排序
- js数组去重与排序
- 数组的去重与排序
- JS的数组去重与排序
- js数组重排序与数组去重
- 数组排序去重
- list去重排序
- 整数去重排序
- DataTable排序,去重
- List排序去重
- shell 排序 去重
- 去重排序
- STL 去重排序
- 一些网址收藏
- windows下安装nginx
- Unity3D架构设计NavMesh寻路
- 买房税费大攻略!哪些费用必须交?
- Machine Learning week 8 Dimensionality Reduction
- 去重与排序
- jquery的$.extend和$.fn.extend作用及区别
- 配置EPEL YUM源
- 移植linux-2.6.32至mini2440
- UI基础-基础控件-0324-浏览图片案例与改进版(UILabel、UIButton、UIImageView的应用)
- Android百日程序: Activity的生命期
- mysql查询操作
- 第十三周 项目五(2.4)
- 杭电OJ(HDOJ)2036题:改革春风吹满地(几何,数学公式)