类实现数组去重及排序
来源:互联网 发布:域名注册购买 编辑:程序博客网 时间:2024/05/21 06:38
这道题目使我充分的意识到调试在代码找错过程中的重要性
/*试定义一个类 NUM,实现将一维数组中各整数元素去年去掉相同数字后再对数组从小到大排序。将一个整数去掉相同数字是指:如果一个整数中有相同的数字,则保留从左数起,第一次看到的那个数字,而将其它的数字去掉。例如:数字 12324151 中有三个 1,两个 2,则去掉相同的数字后变为 12345。具体要求如下:(1)私有数据成员 int a[5];存放需要处理的数据。(2)公有成员函数 NUM(int t[],int n);构造函数,用 t 初始化 a,n 为 t 的元素个数。 void sort(int t[],int n);将数组 t 的元素从小到大排序。 int convert(int n);去除 n 中相同的数字并返回新得到的数。 int fun();将数组 a 的各元素去除相同的数字后从小到大排列。要求调用函数 convert()和 sort(). void print();输出数组 a 的所有元素。(3) 在主函数中对该类进行测试。输入/输出示例输入 5 个整数:1213 65666 22313 12341 34435*/#include<iostream>using namespace std;class NUM{private: int a[5]; int ge_shu;public: NUM(int t[], int n); void sort(int t[], int n); int convert(int n); int fun(); void print();};NUM::NUM(int t[], int n){ for (int i = 0; i < n; i++) { a[i] = t[i]; } ge_shu = n;}void NUM::sort(int t[] , int n){ for (int i = 0; i < n; i++) { for (int j = i+1; j < n; j++) { if (a[i] > a[j]) { int temp; temp = t[i]; t[i] = t[j]; t[j] = temp; } } }}int NUM::convert(int n){ //把n分位放进数组 int temp[5], count = 4; while (n) { temp[count] = n % 10; n /= 10; count--; } if (count == 0) temp[count] = -1; //对数组进行查重、删除、合并成整数返回 for (int i = 0; i < 5; i++) { for (int j = i + 1; j < 5; j++) { if (temp[i] == temp[j]) { temp[j] = -1; //不可以赋值为0,-1可以避免0对程序的干扰 } } } int return_final = 0; for (int i = 0; i < 5; i++) { if (temp[i] != -1) { return_final *= 10; return_final += temp[i]; } } return return_final;}int NUM::fun(){ //把a数组合并成数字、执行converet函数进行删除重复 int need_num = 0; for (int i = 0; i < ge_shu; i++) { need_num *= 10; need_num += a[i]; } need_num = convert(need_num); //把convert返回的处理完的数字变成数组并赋值给a数组 int count = 0; while (need_num) { a[count] = need_num % 10; count++; need_num /= 10; } sort(a, count); //返回最终剩余数字个数 return count;}void NUM::print(){ for (int i = 0; i < fun(); i++) { cout << a[i] << '\t'; } cout << endl;}int main(){ int a[] = { 1,3,2,4,1 }; NUM num(a, 5); num.print(); system("pause"); return 0;}
阅读全文
0 0
- 类实现数组去重及排序
- 数组排序及去重
- IOS 数组去重及排序
- js-数组排序及去重
- Javascript 实现数组去重,快速排序
- Java实现数组去重、排序操作
- 数组排序去重
- 数组排序去重算法
- 数组去重与排序
- js数组排序去重
- 快速排序+数组去重
- 蓝桥杯 数组排序去重
- python实现对数组去重排序操作
- javascript用对象方法实现数组去重并排序
- 数组合并+数组去重+数组排序
- IOS 数组去重,数组倒序排序
- 数组去重 算法实现
- hasOwnProperty实现数组去重
- Yukari's Birthday HDU
- 关于前端知识点总结(干货)
- PAT a1103题解
- 有志者事竟成!
- PAT a1104题解
- 类实现数组去重及排序
- 【bzoj1131】 [POI2008]Sta
- 使用Java方法实现多线程下载案例
- uva 10340 All in All
- 归并排序
- web 学习笔记16-JDBC连接池 扩展已知类
- PAT a1106题解
- Linux-grep
- POJO、JavaBean、EJB的区别