字符数组的操作
来源:互联网 发布:连电脑网线软件 编辑:程序博客网 时间:2024/05/16 08:54
1、实现字符串数组的逆序,使用非递归的方法,设置一个临时变量存储空间
//不使用递归void InverseString1(char *str){int left=0;int right =strlen(str)-1;while(left<right){char temp=str[left];str[left]=str[right];str[right]=temp;left++;right--;}}
2、实现字符串数组的逆序,使用递归的方法,设置一个临时变量存储空间,调用该函数
ReverseString(str,0,len-1),其中len=strlen(str);
//递归void RecurInverseString(char *str,int left,int right){if (left>=right){return;} char temp = str[left];str[left]=str[right];str[right]=temp; RecurInverseString(str,left+1,right-1);}
3、实现字符串数组的逆序,使用非递归的方法,不使用临时变量存储空间
//不使用递归,不使用临时存储空间void InverseString2(char *str){int left=0;int right =strlen(str)-1;while(left<right){str[left]=str[left]^str[right];str[right]=str[left]^str[right];str[left]=str[left]^str[right];left++;right--;}}
该方法实现两个字符的交换,不使用临时的变量存储空间temp,而采用异或的方法实现两个字符的交换。
4、实现一个句子中所有单词的逆反
void ReverseWord(char* p, char* q){char temp=NULL;while(p<q){temp=*p;*p=*q;*q=temp;p++;q--;}}void ReverseSentence(char *str){char *p=str;char* q=p;while ('\0'!=*q){if (*q==' '){ReverseWord(p,q-1);q++;p=q;}elseq++;}ReverseWord(p,q-1);
0 0
- 字符数组的操作
- 字符,数组,指针的准确操作
- 字符数组操作 str[-1]的用法
- 关于字符数组的指针移动操作
- 字符数组和字符指针间的操作
- Java 对字符以及字符数组的操作
- 字符数组相关操作
- 字节数组与字符串(字符数组)的转换操作
- C语言中对字符数组的一些操作(字符数组分割)
- C++ 第十五周报告2--《字符数组的操作》
- 关于strlen 和 wstlen_s 操作未初始化的字符数组
- 操作基本数据类型,字节数组的流 和 字符编码
- Digital Library 字符数组操作
- 字符数组归并排序操作
- 一维数组、二维数组、字符数组的&、sizeof等操作
- 消除字符数组的字符
- 字符数组,特殊的数组
- 黑马程序员_java基础篇操作数据的,操作字节数组的,字符编码Day6
- 解决Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
- pl/sql(1)
- 线程池设计中的惊群问题
- 安卓图表引擎AChartEngine(一) - 简介
- Eclipse 导入已有工程时.classpath和.project文件拒绝访 ...
- 字符数组的操作
- python3 xml.dom.mini模块解析xml
- 正则表达式总结
- PL/SQL Developer中文乱码问题
- 第一个Java Google engine程序
- Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM)
- DP-回文字符串匹配
- SP2010开发和VS2010专家"食谱"--第四章节—列表定义和内容类型(2)--拓展现有内容类型
- virgo 简介