比这篇新的文章:
StrPermutation
比这篇旧的文章: main.cpp 测试程序
作者: bookine, 点击245次, 评论(0), 收藏者(0)
打分:
所有评论,共0条:( 我也来说两句)
比这篇旧的文章: main.cpp 测试程序
ReverseWords
语言: C, 标签: 无 2008/08/26发布 2个月前更新作者: bookine, 点击245次, 评论(0), 收藏者(0)
C语言: ReverseWords
01 void ReverseString(char str[], int start, int end)
02 {
03 char tmp;
04
05 //exchange characters and move ptr to middle
06 while(start < end)
07 {
08 tmp = str[end];
09 str[end --] = str[start];
10 str[start ++] = tmp;
11 }
12 }
13
14
15 void ReverseWords(char str[])
16 {
17 int slen = 0;
18 int start = 0;
19 int end = 0;
20
21 slen = strlen(str);
22 //reverse entire string
23 ReverseString(str, start, slen - 1);
24
25 start = end = slen - 1;
26 while(start >= 0)
27 {
28 //find a non-word character or the beginning of the string
29 if(str[start] == ' ' || start == 0 )
30 {
31 slen = start;
32 if(start != 0)
33 ++ start;
34 //reverse a word
35 ReverseString(str, start, end);
36 //move ptr to next word
37 start = end = slen - 1;
38 }
39 else
40 {
41 -- start;
42 }
43 }//while
44 }
02 {
03 char tmp;
04
05 //exchange characters and move ptr to middle
06 while(start < end)
07 {
08 tmp = str[end];
09 str[end --] = str[start];
10 str[start ++] = tmp;
11 }
12 }
13
14
15 void ReverseWords(char str[])
16 {
17 int slen = 0;
18 int start = 0;
19 int end = 0;
20
21 slen = strlen(str);
22 //reverse entire string
23 ReverseString(str, start, slen - 1);
24
25 start = end = slen - 1;
26 while(start >= 0)
27 {
28 //find a non-word character or the beginning of the string
29 if(str[start] == ' ' || start == 0 )
30 {
31 slen = start;
32 if(start != 0)
33 ++ start;
34 //reverse a word
35 ReverseString(str, start, end);
36 //move ptr to next word
37 start = end = slen - 1;
38 }
39 else
40 {
41 -- start;
42 }
43 }//while
44 }
所有评论,共0条:( 我也来说两句)
代码