关于字符串逆序的问题
2007-07-09 11:01
316 查看
有人考我字符串逆序的算法,我居然写不上来,懊恼死了。
当时脑海里想的是用堆栈的算法,可是又不会写,至于递归,硬是没想到。
题目:实现字符串逆序函数 reverse(char *str)
答案:
1。最简单的,不一定规范但能实现。
void reverse(char *str)
...{
if (!*str) return;
fun(str+1);
printf("%c",*str);
}
2。比较规范的C
char* reverse(char *cpSource)
...{
static char *cpTemp = NULL;
if(cpTemp == NULL) cpTemp = cpSource;
if(*(cpSource+1)) reverse(cpSource+1);
if(cpSource-cpTemp > 0)
...{
char cTemp = *cpTemp;
*cpTemp++ = *cpSource;
*cpSource = cTemp;
}
return cpSource;
}
3。另外找了个ARM汇编的版本
data segment
string1 db ' abcdefg'
count equ $-string1
string2 db count dup(?),'$'
data ends
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax
mov cx,count
mov si,offset string1
add si,cx
dec si
mov di,offset string2
lop1: mov al,[si]
mov [di],al
dec si
inc di
loop lop1
mov dx,offset string2
mov ah,9
int 21h
mov ah,4ch
int 21h
code ends
end start
附:参考地址
这里就给汇编的,C的太多了,随便搜搜就能找到。
『Win32/Win64编程』 > 【讨论】来个简单题目,看哪位兄弟写的最好!
基本汇编语言程序设计 - 字符串逆序显示
当时脑海里想的是用堆栈的算法,可是又不会写,至于递归,硬是没想到。
题目:实现字符串逆序函数 reverse(char *str)
答案:
1。最简单的,不一定规范但能实现。
void reverse(char *str)
...{
if (!*str) return;
fun(str+1);
printf("%c",*str);
}
2。比较规范的C
char* reverse(char *cpSource)
...{
static char *cpTemp = NULL;
if(cpTemp == NULL) cpTemp = cpSource;
if(*(cpSource+1)) reverse(cpSource+1);
if(cpSource-cpTemp > 0)
...{
char cTemp = *cpTemp;
*cpTemp++ = *cpSource;
*cpSource = cTemp;
}
return cpSource;
}
3。另外找了个ARM汇编的版本
data segment
string1 db ' abcdefg'
count equ $-string1
string2 db count dup(?),'$'
data ends
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax
mov cx,count
mov si,offset string1
add si,cx
dec si
mov di,offset string2
lop1: mov al,[si]
mov [di],al
dec si
inc di
loop lop1
mov dx,offset string2
mov ah,9
int 21h
mov ah,4ch
int 21h
code ends
end start
附:参考地址
这里就给汇编的,C的太多了,随便搜搜就能找到。
『Win32/Win64编程』 > 【讨论】来个简单题目,看哪位兄弟写的最好!
基本汇编语言程序设计 - 字符串逆序显示
相关文章推荐
- 关于字符串逆序的几个问题
- 关于函数返回字符串常量的问题
- 关于SQL Server中将数值类型转换为字符串的问题(转)
- 关于字符串逆序
- 关于动态内存分配与字符串操纵的问题总结
- 关于Devexpress xtraGrid中数字字段删除数字后出现输入字符串格式不正确问题的解决方案
- JAVA与C++::关于JNI中文字符串操作问题总结
- 关于获取字符串的某一段值的问题
- 关于python的字符串逆序输出
- 关于NSURL拼接字符串的问题
- 关于DOS(windows命令行)截取变量中字符串问题的详细说明
- C语言:关于计算字符串中空格数的问题
- 关于CharSequence,字符串等相等问题
- 关于字符串是否相等的问题?
- php下关于中英数字混排的字符串分割问题
- 关于XML字符串中出现非法字符导致解析出错的问题
- 关于c语言中的字符串的问题
- 关于字符串转化问题
- 关于字符串的一系列问题
- 关于js函数传入中文字符串参数的取值问题