题目----数据结构线性表----字符串逆序

简介: 题目----数据结构线性表----字符串逆序

题目

本题要求实现一个字符串逆序的简单函数。

函数接口定义:

void f( char *p );

函数f对p指向的字符串进行逆序操作。要求函数f中不能定义任何数组,不能调用任何字符串处理函数

裁判测试程序样例:

#include <stdio.h>
#define MAXS 20
 
void f( char *p );
void ReadString( char *s ); /* 由裁判实现,略去不表 */
 
int main()
{
    char s[MAXS];
 
    ReadString(s);
    f(s);
    printf("%s\n", s);
 
    return 0;
}
 
  /* 你的代码将被嵌在这里 */
输入

Hello World!

输出

!dlroW olleH

样例输入 Copy

abcde


样例输出 Copy

edcba


提示

字符串可能包含空格。

解答

解法一:数组

void f( char *p )
{
    int cnt = 0;
    while(p[cnt] != '\0') {
        cnt++;
    }
    int i;
    for(i=0; i<cnt/2; i++) {
        char temp = p[i];
        p[i] = p[cnt-1-i];
        p[cnt-1-i] = temp;
    }
}

解法二:指针

void f( char *p )
{
    int cnt = 0;
    while(*(p+cnt) != '\0') {
        cnt++;
    }
    int i;
    for(i=0; i<cnt/2; i++) {
        char temp = *(p+i);
        *(p+i) = *(p+cnt-1-i);
        *(p+cnt-1-i) = temp;
    }
}
目录
相关文章
|
2月前
|
存储 缓存 NoSQL
redis数据结构-字符串
redis数据结构-字符串
32 1
|
4月前
|
存储 NoSQL Redis
Redis系列学习文章分享---第十六篇(Redis原理1篇--Redis数据结构-动态字符串,insert,Dict,ZipList,QuickList,SkipList,RedisObject)
Redis系列学习文章分享---第十六篇(Redis原理1篇--Redis数据结构-动态字符串,insert,Dict,ZipList,QuickList,SkipList,RedisObject)
75 1
|
4月前
|
存储 C语言
数据结构中的线性表链式存储介绍及其基本操作
链式存储是线性表的一种重要存储方式,它通过节点和指针的结构,实现了灵活的动态存储管理。本文介绍了单向链表的基本操作,并提供了相应的C语言代码示例。理解和掌握链表的操作对学习和应用数据结构具有重要意义。希望这篇博客能帮助你更好地理解线性表的链式存储。
88 2
|
8天前
|
存储 Java
java数据结构,线性表顺序存储(数组)的实现
文章介绍了Java中线性表顺序存储(数组)的实现。线性表是数据结构的一种,它使用数组来实现。文章详细描述了线性表的基本操作,如增加、查找、删除、修改元素,以及其他操作如遍历、清空、求长度等。同时,提供了完整的Java代码实现,包括MyList接口和MyLinearList实现类。通过main函数的测试代码,展示了如何使用这些方法操作线性表。
|
4月前
|
存储 测试技术
【数据结构】操作受限的线性表,栈的具体实现
【数据结构】操作受限的线性表,栈的具体实现
52 5
|
4月前
|
存储 测试技术
【数据结构】操作受限的线性表,队列的具体实现
【数据结构】操作受限的线性表,队列的具体实现
37 4
|
4月前
|
存储 JavaScript 前端开发
JavaScript中的对象是数据结构,存储键值对,键为字符串,值可为任意类型,包括函数(作为方法)
【6月更文挑战第25天】JavaScript中的对象是数据结构,存储键值对,键为字符串,值可为任意类型,包括函数(作为方法)。
37 2
|
4月前
数据结构 字符串 (第6天)
数据结构 字符串 (第6天)
|
4月前
|
存储 算法 测试技术
数据结构学习记录——树习题-Complete Binary Search Tree(题目描述、输入输出示例、数据结构的选择、核心算法、计算左子树的规模)
数据结构学习记录——树习题-Complete Binary Search Tree(题目描述、输入输出示例、数据结构的选择、核心算法、计算左子树的规模)
68 1
|
4月前
|
测试技术 C语言
数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)
数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)
41 1