C++问题---字符串逆转问题
来源:互联网 发布:什么语言开发了java 编辑:程序博客网 时间:2024/04/27 16:42
-------------------------------------
典型例题11:C++问题---字符串逆转问题;
-------------------------------------
1 #include <iostream>
2 #include <sys/time.h>
3 #include <cstdlib>
4 #include <cstring>
5
6 using namespace std;
7
8 #define P puts
9
10 char* strrev1(const char* str)
11 {
12 int len = strlen(str);
13
14 char* tmp = new char[len + 1];
15
16 strcpy(tmp,str);
17
18 for (int i = 0; i < len/2; ++i)
19 {
20 char c = tmp[i];
21 tmp[i] = tmp[len-i-1];
22 tmp[len-i-1] = c;
23 }
24 return tmp;
25 }
26
27 char* strrev2(const char* str)
28 {
29 char* tmp = new char[strlen(str) + 1];
30 strcpy(tmp,str);
31 char* ret = tmp;
32 char* p = tmp + strlen(str) - 1;
33 while (p > tmp)
34 {
35 char t = *tmp;
36 *tmp = *p;
37 *p = t;
38 --p;
39 ++tmp;
40 }
41 return ret;
42 }
43
44 char* strrev3(const char* str)
45 {
46 char* tmp = new char[strlen(str) + 1];
47 strcpy(tmp,str);
48 char* ret = tmp;
49 char* p = tmp + strlen(str) - 1;
50 while (p > tmp)
51 {
52 *p ^= *tmp;
53 *tmp ^= *p;
54 *p ^= *tmp;
55 --p;
56 ++tmp;
57 }
58 return ret;
59 }
60
61 char* strrev4(const char* str)
62 {
63 char* tmp = new char[strlen(str) + 1];
64 strcpy(tmp,str);
65 char* ret = tmp;
66 char* p = tmp + strlen(str) - 1;
67 while (p > tmp)
68 {
69 *p = *p + *tmp;
70 *tmp = *p - *tmp;
71 *p = *p - *tmp;
72 --p;
73 ++tmp;
74 }
75 return ret;
76 }
77
78 char* strrev5(char* str,int len)
79 {
80 if (len <= 1)
81 return str;
82 char t = *str;
83 *str = *(str + len -1);
84 *(str + len -1) = t;
85 return (strrev5(str + 1,len - 2));
86 }
- C++问题---字符串逆转问题
- 字符串逆转问题
- 经典问题8:c/c++ 程序设计 ---bit位逆转高效算法问题
- 经典问题8:c/c++ 程序设计 ---bit位逆转高效算法问题
- 逆转字符串 C语言
- 单链表的逆转问题
- C语言:字符串的逆转
- C语言逆转字符串数组
- 2.22-单链表就地逆转
- c语言编程题之字符串逆转。
- C语言非递归实现字符串逆转
- c语言字符串问题
- 字符串逆转
- 字符串逆转
- 字符串逆转
- 字符串逆转
- 字符串逆转
- 字符串逆转
- C问题---char类型赋值问题;
- VC程序调试初步
- Visual C++数据库实用编程100例 源代码
- C问题---二进制编码问题
- 绿茶贮存五忌
- C++问题---字符串逆转问题
- MyEclipse打不开
- 初来炸到
- instanceof关键字
- WPF : 以鼠标指针为中心缩放
- AS3中的数据类型
- C++问题---逆波兰表达转换与计算问题
- linux下装QQ,64位系统
- LINUX环境进程间通信