知识大全 数据结构考研分类复习真题 第四章 答案[13]
Posted 整数
篇首语:落花踏尽游何处,笑入胡姬酒肆中。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构考研分类复习真题 第四章 答案[13]相关的知识,希望对你有一定的参考价值。
[问题分析]在一个字符串内 统计含多少整数的问题 核心是如何将数从字符串中分离出来 从左到右扫描字符串 初次碰到数字字符时 作为一个整数的开始 然后进行拼数 即将连续出现的数字字符拼成一个整数 直到碰到非数字字符为止 一个整数拼完 存入数组 再准备下一整数 如此下去 直至整个字符串扫描到结束
int CountInt()// 从键盘输入字符串 连续的数字字符算作一个整数 统计其中整数的个数 {int i= a[];// 整数存储到数组a i记整数个数 scanf( %c &ch);// 从左到右读入字符串 while(ch!= # )// # 是字符串结束标记 if(isdigit(ch))// 是数字字符 {num=0;// 数初始化 while(isdigit(ch)&& ch!= # )// 拼数 {num=num* + ch 0 ; scanf( %c &ch); } a[i]=num;i++; if(ch!= # )scanf( %c &ch); // 若拼数中输入了 # 则不再输入 }// 结束while(ch!= # ) printf( 共有%d个整数 它们是 i); for(j=0;j<i;j++) {printf( % d a[j]); if((j+ )% == )printf( \\n ); // 每 个数输出在一行上 }// 算法结束
[算法讨论]假定字符串中的数均不超过 否则 需用长整型数组及变量
cha138/Article/program/sjjg/201311/22612相关参考
.()initstack(s) //栈s初始化为空栈 ()setnull(exp) //串exp初始化为空串 ()chinopset&n
.() ()next[k] .()i=i+ ()j:=j+ ()i:=ij+ ()j:=; ()imt(或i:=ij+) () 程序
.()p的nextval函数值为(p的next函数值为) ()利用KMP(改进的nextval)算法每趟匹配过程如下 第一趟匹配abcaabbabcabaacbacba abcab(i=j=
.任意个连续的字符组成的子序列 . O(m+n) . . .()模式匹配 ()模式串 .()其数据元素都是字符()顺序存储()和链式存储()串的长度相等且两串中对
.()S的next与nextval值分别为和p的next与nextval值分别为和 ()利用BF算法的匹配过程
[题目分析]实现字符串的逆置并不难但本题要求不另设串存储空间来实现字符串逆序存储即第一个输入的字符最后存储最后输入的字符先存储使用递归可容易做到 voidInvertStore(charA[])
6.模式串的next函数定义如下 next[j]= 根据此定义可求解模式串t的next和nextval值如下 .解法同上题其next和nextval值分别为和 .解法同题t串的next和n
[题目分析]本题是对字符串表达式的处理问题首先定义种数据结构符号的类码符号的TOKEN表示变量名表NAMEL和常量表CONSL这四种数据结构均定义成结构体形式数据部分用一维数组存储同时用指针指出数
[题目分析]本题属于查找待查找元素是字符串(长)将查找元素存放在一维数组中二分检索(即折半查找或对分查找)是首先用一维数组的中间元素与被检索元素比较若相等则检索成功否则根据被检索元素大于或小于中间
[题目分析]两个串的相等其定义为两个串的值相等即串长相等且对应字符相等是两个串相等的充分必要条件因此首先比较串长在串长相等的前提下再比较对应字符是否相等 intequal(strtpsstrtp