【算法】数组就地置逆算法
时间:2011-07-22
来源:互联网
抛砖引玉哈~希望大家都来分享程序设计之灵魂
描述
编写一个函数,接收一个整数值,返回这个数中数字逆序后的结果值。例如,给定数7631,函数返回1367。
输入
第一行一个正整数T(T<=10),表示有T组测试数据。以下T行,每行一个非负的整数N。
输出
共T行,对于每组输入数据输出一行,即数字逆序后的结果值。
样例输入
3
7631
101
51
样例输出
1367
101
15
复制代码
描述
编写一个函数,接收一个整数值,返回这个数中数字逆序后的结果值。例如,给定数7631,函数返回1367。
输入
第一行一个正整数T(T<=10),表示有T组测试数据。以下T行,每行一个非负的整数N。
输出
共T行,对于每组输入数据输出一行,即数字逆序后的结果值。
样例输入
3
7631
101
51
样例输出
1367
101
15
- #include <iostream>
- using namespace std;
- int main()
- {
- string str;
- int len;
- char* ptr1;
- char* ptr2;
- int n;
- cin>>n;
- while(n--)
- {
- cin>>str;
- len = str.length();
- ptr1 = &str[0];
- ptr2 = &str[len-1];
- while(ptr1 < ptr2)
- {
- *ptr1 ^= *ptr2;
- *ptr2 ^= *ptr1;
- *ptr1 ^= *ptr2;
- ptr1++;
- ptr2--;
- }
- cout<<str<<endl;
- }
- return 0;
- }
作者: 流星清竹 发布时间: 2011-07-22
我会这样
复制代码
如果cout<<慢的话,或者先缓存到另外一个数组。
- //blah
- while(ptr2>=ptr1) {cout<<*ptr2--;}
- //blah
作者: jiang925 发布时间: 2011-08-19
如果想体现不用额外空间来交换数据,直接说重点嘛,搞那么多额外的吸引了注意力。
作者: jiang925 发布时间: 2011-08-19
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28