[数据结构复习]字符串1

原创 2006年05月30日 00:43:00

1:自已编写求字符串长度函数size_t strlen(const char *s) ==> int Stringlength(const char *s)

  [知识点]:  (摘自高质量程序设计指南--C++/C语言 第二版)

   1: 字符指针的误区:当你使用字符指针来引用一个字符变量的时候,千万要当心,因为C++/C默认char* 表示字符串.例如:
   char ch="a";  //用"a"来初使化字符变量
   char *pChar=&ch; //字符指针指向字符变量
   cout<<pChar<<endl; //错把字符当做字符串
正确的用法是:
   cout<<*pChar<<endl; //取一个字符

     2:用const修饰函数返回值:  如果给 "指针传递" 的函数返回值加const修饰符,那么函数返回值是一种契约性常量,不能被直接修改,并且该返回值只能被赋值给加const修饰的同类型指针(除非强制转型).例如函数:
 const char *GetString(void);
则如下语句将出现编译错误 :
 char *str = GetString();
正确用法是:
 const char* str = GetString();

====代码部分:以下代码在Visal C++6.0环境下编译通过====

/*int Stringlength(const char *s)*/

#include<iostream.h>
#include <stdlib.h>

int Stringlength(const char *s)
{
 //cout<<s<<endl;               //输出值s并非字符串地址,而是字符串,见[知识点一]
 if(s == NULL) exit(1);
 int length = 0;
 char *base = (char *)s;      //或const char *base = s;见[知识点二]
 while((*base++) != '/0') length++;
 return length;
}
void main()
{
 char *ch = "Hello,c++ world!";
 cout<<ch<<endl;
 cout<<*ch<<endl;
 int len = Stringlength(ch);
 cout<<len<<endl;
}

Python基本数据结构 习题及源码

##习题1: #列表a = [11,22,24,29,30,32] #1 把28插入到列表的末端 >>> a.append(28) >>> a [11, 22, 24, 29, 30, 32, 2...
  • Holyang_1013197377
  • Holyang_1013197377
  • 2015年10月16日 22:46
  • 1733

数据结构实验之串二:字符串匹配

数据结构实验之串二:字符串匹配 Time Limit: 1000MS Memory limit: 65536K 题目描述   给定两个字符串string1和string2,判断strin...
  • acher66
  • acher66
  • 2016年08月03日 14:56
  • 1595

寻找一个字符串中的最长重复子串

思路: 主要就是先定义一个后缀数组,将后缀数组排序后求共最长公共长度 问题描述: 首先这是一个单字符串问题。子字符串 R 在字符串 L 中至少出现两次,则称 R 是 L 的重复子串。比...
  • ungoneless
  • ungoneless
  • 2015年10月09日 11:16
  • 1818

Redis-数据结构-1-简单动态字符串

数据结构 1.简单动态字符串  SDS的定义 每个sds.h/sdshdr结构表示一个SDS值: struct sdshdr {     //记录buf数组中已使用字节的数量     //等于SDS所...
  • guolong1983811
  • guolong1983811
  • 2017年01月18日 21:41
  • 124

【字符串数据结构后缀系列Part1】后缀数组学习笔记

AC自动机好厉害啊www所以我要学后缀自动机和后缀数组啦(有什么关系吗魂淡(╯‵□′)╯︵┻━┻) 没关系这并不妨碍什么= = ——————————————–线割分是我>w 根据方法不同,字符串匹...
  • CreationAugust
  • CreationAugust
  • 2015年07月05日 16:31
  • 1046

定义一个栈的数据结构,实现min函数,要求push,pop,min时间复杂度是0(1);找出字符串中的最长子串,要求子串不含重复字符,时间复杂度是O(n);

1.将IPV4转换成整数,要求高效。  2.定义一个栈的数据结构,实现min函数,要求push,pop,min时间复杂度是0(1);  3.数组a[n]里存有1到n的所有数,除了一个数remove...
  • u012870116
  • u012870116
  • 2014年09月25日 11:13
  • 504

数据结构---字符串(1)

1. 替换空格(剑指offer-4) 题目:请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“We are happy.”,则输出“We%20are%20happy.”。 解题思路: ...
  • hla199106
  • hla199106
  • 2015年07月27日 11:30
  • 328

【数据结构机试复习9】 二维数组中的查找 & 二分查找 & 寻找字符串

Ex1: 二维数组中的查找: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这 样的一个二维数组和一个整数,判断数组中是否含有该整数...
  • weixin_40372954
  • weixin_40372954
  • 2018年01月08日 10:12
  • 37

数据结构与算法分析笔记与总结(java实现)--字符串1:字符串的排列(*)

数据结构与算法分析笔记与总结(java实现)--字符串1:字符串的排列(*)
  • qq_27703417
  • qq_27703417
  • 2017年02月15日 16:50
  • 248

【数据结构与算法分析】复习笔记(1)

目前为止,PAT初级题目和题解已经全部发完了。 鼓掌!撒花!     初级题目几乎不需要用到复杂的数据结构,只需要基础的编程知识和简单的逻辑就可以完成。按姥姥的话说,“排序就是最复杂的了”(原话不记得...
  • u013791113
  • u013791113
  • 2014年03月17日 20:14
  • 1169
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[数据结构复习]字符串1
举报原因:
原因补充:

(最多只允许输入30个字)