上一篇最后给出了用递归完成字符串逆置的代码,但是没有分析它的具体算法,今天做了如‘abcde‘字符串递归翻转的图跟大家分享(画的比较烂,具体思路还是有的,详情见附件)这里的递归调用没有出现在函数末尾,二前面几个递归都出现在函数末尾,所以说递归可以分为在函数末尾的递..
分类:
其他好文 时间:
2015-11-09 14:04:53
阅读次数:
198
题目:有一个字符数组的内容为:"studentaami",请你将数组的内容改为"iamastudent".要求:不能使用库函数。只能开辟有限个空间(空间个数和字符串的长度无关)。题目分析:由于题目中给定的字符串中包含空格字符,就不能简单的将数组的内容整个进行逆置,题目中要求不能使用库函..
分类:
编程语言 时间:
2015-11-01 19:44:13
阅读次数:
193
#include<stdio.h>
//#include<assert.h>
voidmy_reverse(char*left,char*right)
{
//assert(left);
//assert(right);用以处理指针函数为空,保证有效
while(left<right)
{
chartmp=*left;//借助中间变量实现逆置
*left=*right;
*right=tmp;
left++;
right--;
}..
分类:
编程语言 时间:
2015-10-31 18:46:04
阅读次数:
548
#include<stdio.h>
#include<assert.h>
/*求字符串长度*/
intmy_strlen(char*str)
{
assert(str);
intcount=0;
while(*str)
{
count++;
str++;
}
returncount;
}
/*逆置函数*/
char*reverse_str(char*start,char*end)
{
char*ret=start;
chartemp;
whi..
分类:
编程语言 时间:
2015-10-31 18:43:19
阅读次数:
200
题目:实现一个函数itoa(intn,chars[]),将整数n这个数字转换为对应的字符串,保存到s中。题目分析:对于这一个问题,我们首先能够联想到字符在计算机存储是以自身的ASCII码存储的,例如:‘0’存储为48,‘1’存储为49,那么如果给‘0’—‘9’这些字符相应的减去‘0’,刚..
分类:
其他好文 时间:
2015-10-30 02:20:12
阅读次数:
290
题目:编写一个函数itob(intn,chars[],intb),将整数n转换为以b进制的数,保存到s中。题目分析:对于这个问题,根据进制之间的转换特点,将十进制的整数n转换为其他进制,可以利用模除的方式将其转换,但是其中有一个问题:16进制数中表示0123456789abcdef,所以可以将16进制..
分类:
其他好文 时间:
2015-10-30 02:11:34
阅读次数:
149
第24 题:链表操作,单链表就地逆置思路: 本来想拿两个指针分别指向当前节点和上一节点,在向后移动指针的过程中将当前节点的next指针逆向为上一节点,但这样就无法继续向后移动当前节点了。。。。转换一下思路,对于n各节点,逆序的操作可以分解为把后面n-1个节点逆序,然后再把第一个节点放在已经逆序好的n...
分类:
编程语言 时间:
2015-10-26 12:11:09
阅读次数:
167
#include<stdio.h>
voidinit(int*arr,intsize)
{
inti=0;
for(i=0;i<size;i++)
{
arr[i]=i;
}
}
voidprint(int*arr,intsize)
{
inti=0;
for(i=0;i<size;i++)
{
printf("%d",arr[i]);
}
printf("\n");
}
voidempty(int*arr,intsize)
{
inti=0;
fo..
分类:
编程语言 时间:
2015-10-22 19:37:22
阅读次数:
166
#include<stdio.h>
voidinit(intarr[],intlen)
{
inti=0;
intnum=0;
printf("初始化数组->:\n");
for(i=0;i<len;i++)
{
scanf("%d",&num);
arr[i]=num;
}
}
voidempty(intarr[],intlen)
{
inti=0;
printf("清空数组->:\n");
for(i=0;i<le..
分类:
编程语言 时间:
2015-10-18 10:08:25
阅读次数:
164
★创建一个数组,实现函数init初始化数组、empty清空数组、reverse函数完成数组元素的逆置。#include<stdio.h>
#include<stdlib.h>
#include<string.h>
voidmenu()
{
printf("****************************************\n");
printf("***************1.初始..
分类:
编程语言 时间:
2015-10-18 01:18:33
阅读次数:
297