(笔试题)把一个整数数组中重复的数字去掉
2015-08-09 20:34
344 查看
题目:
把一个整数数组中重复的数字去掉,并输出剩下的不重复的元素。(要求不能开辟新空间)思路:
先排序,然后遍历数组比较,详见代码代码:
#include <iostream> #include <algorithm> using namespace std; int cmp(const void* a,const void* b){ return (*(int*)a-*(int*)b); } int unique(int* a,int n){ int k=0; for(int i=0;i<n;i++){ if(a[k]!=a[i]){ a[k+1]=a[i]; ++k; } } return (k+1); } int main() { int a[]={1,2,1,2,3}; int len=sizeof(a)/sizeof(a[0]); qsort(a,len,sizeof(int),cmp); int ulen=unique(a,len); for(int i=0;i<ulen;i++) cout<<a[i]<<" "; cout<<endl; }
相关文章推荐
- Android基础知识----01
- 公式复选框列
- Poj 1182 食物链
- 冒泡排序
- stata学习笔记(三):计算五年内的ROA标准差所用到的一些知识
- Program C--二分
- 坐标系之间的旋转平移变换与对应变换矩阵的关系
- centos 6.x 安装 chrome
- Removing Columns
- Android:实现EditText在获得焦点后消去hint,失去焦点后再显示原来的hint
- MFC如何使控件大小随着对话框大小自动调整
- LotusScript判断文档是否存在
- 2015 HUAS Summer Trainning #4 C
- HDU 4907 Task schedule
- OC中继承代理委托类别
- LotusScript获取一个视图中所有文档
- android分辨率 尺寸 dpi换算
- RadioButton使用方法
- C# 读取word
- HDU 2458