当前位置: 首页 > news >正文

宿迁网站建设介绍公司wordpress 文章 分类 页面

宿迁网站建设介绍公司,wordpress 文章 分类 页面,旅游网站开发项目策划书,六安百度公司六安百度推广目录 1.顺序串是什么#xff1f; 2.顺序串常见操作和应用 3.包含头文件 4.结点设计 5.接口函数定义 6.接口函数实现 7.顺序串测试案列 顺序串是什么#xff1f; 顺序串#xff0c;用于存储和操作字符串。在顺序串中#xff0c;字符串被存储在一个连续的内存块中#xff0c…目录 1.顺序串是什么 2.顺序串常见操作和应用 3.包含头文件 4.结点设计 5.接口函数定义 6.接口函数实现 7.顺序串测试案列 顺序串是什么 顺序串用于存储和操作字符串。在顺序串中字符串被存储在一个连续的内存块中通常是数组或动态数组如C中的std::vector或Java中的ArrayList。顺序串的主要优点是它提供了一种简单且高效的方式来访问和修改字符串中的字符。以下是顺序串的特点 1.连续内存字符串的所有字符都存储在连续的内存位置这有助于提高访问速度 2.动态扩展顺序串通常使用动态数组实现这意味着它们可以根据需要自动扩展其大小 3.随机访问由于字符串存储在数组中任何字符都可以在常数时间内被访问即O(1)时间复杂度 顺序串常见操作和应用 要实现顺序串需要实现以下操作 1.访问字符可以直接通过索引访问字符串中的任何字符 2.修改字符可以直接通过索引修改字符串中的任何字符 3.插入字符可以在字符串的任何位置插入字符但可能需要移动插入点后的所有字符 4.删除字符可以从字符串中删除任何字符但可能需要移动删除点后的所有字符。 5.连接字符串可以将两个或多个字符串连接在一起通常需要扩展数组并复制字符 顺序串的应用 1.文本编辑顺序串常用于文本编辑器中用于存储和操作文本数据 2.字符串处理在需要频繁访问和修改字符串的场景下顺序串提供了一种高效的数据结构 包含头文件 #includestdio.h #includestdlib.h #includestring.h 结点设计 #define Initsize 10 typedef char Elemtype;typedef struct SqString {Elemtype data[Initsize]; //定义数组data为数据域存储数据int length; //定义变量length存储串长度 }SqString;接口函数定义 bool InitString(SqString A); //用于初始化顺序串 bool Assign(SqString A, char str[]); //用于将字符数组中的数据赋值给顺序串 bool StringCopy(SqString A, SqString B); //用于将B顺序串数据复制到A顺序串 bool Strlen(SqString A, SqString B); //用于判断两个顺序串是否相等 SqString Concat(SqString A, SqString B); //用于将两个字符串连接 bool Index(SqString A, SqString B); //用于查找子串的位置 bool InsertStr(SqString A, SqString B, int i); //用于在顺序串中插入子串 bool InsertString(SqString A); //用于在顺序串中输入数据 bool IdlString(SqString A, int i, int j); //用于选定删除子串 void DispStr(SqString A); //用于输出顺序串 //用于在顺序串中查找等长度的子串,i为开始的次序j为子串长度 SqString SubStr(SqString A, int i, int j); 接口函数实现 void DispStr(SqString A) { //用于输出顺序串if (A.length 0) { //为减少存储空间判断是否为空串printf(传入的顺序串为空串);}else {int i;for (i 0; i A.length; i) {//遍历输出串printf(%c, A.data[i]);}} }bool IdlString(SqString A, int i, int j) { //用于选定删除子串if (i1 || iA.length || j1 || j iA.length 1) { //判断传入的次序是否有误printf(传入的次序或长度有误);return false;}else {int k;for (k i-1j; k A.length; k) { //删除特定次序的子串A.data[i - 1] A.data[k];i;}A.length - j; //更新顺序串的大小return true;} }bool InsertString(SqString A) { //用于在顺序串中输入数据int i;char x[Initsize]; //定义一个字符数组存储字符printf(创建的顺序串大小为%d请问需要输入多少个数据:,Initsize);scanf_s(%d, A.length);if (A.length 0) {return false;}printf(请输入数据:);getchar(); //清除计算机缓存区gets_s(x, A.length1); //使用get_s函数从键盘键入数据大小为A.length1for (i 0; i A.length; i) { //更新顺序串数据A.data[i] x[i];}return true; }bool InsertStr(SqString A, SqString B, int i) { //用于在顺序串中插入子串int j,kA.length-1;if (i1 || iA.length 1) { //判断传入的次序是否合理printf(插入的位序不合理\n);return false;}else {if (i B.length A.length Initsize) { //判断顺序串是否有空间存储插入的子串printf(传入的顺序串所剩的空间不足\n);return false;}else {for (j A.length B.length; j A.length; j--) //遍历顺序串将传入的次序后的数据后移{A.data[j] A.data[k];k--;}k 0;for (j i - 1; j A.length; j) { //遍历顺序串将子串插入对应的次序中A.data[j] B.data[k];k;}}}A.length B.length; //更新顺序串的长度lengthprintf(在顺序表中插入子串成功\n);return true; }bool Index(SqString A, SqString B) { //用于查找子串的位置int i0, j0, len0;while (i A.length j B.length) { //遍历传入顺序表和子串if (A.data[i] B.data[j]) { //判断传入的子串是否在传入的顺序表中len i; //记录子串的位置i;j;}else {len 0; j 0;i;}}if (j B.length) { //判断是否在顺序表中找到对应的子串printf(已找到对应的子串其子串位于主串的第%d个到第%d个位置\n,len,lenB.length-1);return true;}else {printf(找不到对应的子串\n);return false;} }SqString SubStr(SqString A, int i, int j) { //用于在顺序串中查找等长度的子串,i为开始的次序j为子串SqString C; //定义顺序串C储存查找到的子串if (i A.length || ij A.length1 || i1 ||j1) {//判断传入的次序和长度是否合理C.length 0; //更新顺序串C的长度printf(传入的长度参数错误找不到子串\n);return C;}else {int K;for (K i - 1; K i j - 1; K) {C.data[K - i 1] A.data[K]; //将查找到的子串赋值给顺序串C}C.length j; //更新顺序串C的长度}return C; }SqString Concat(SqString A, SqString B) { //定义函数Concat用于将两个字符串连接SqString C; //定义顺序串C存储连接结果的数据int i,j;for (i 0; i A.length; i) { //将顺序串A的数据赋值给新的顺序串CC.data[i] A.data[i];}for (j0; j B.length; j) { //将顺序串B的数据赋值给新的顺序串CC.data[A.lengthj] B.data[j];}C.length i j; //更新顺序串C的长度lengthprintf(传入的两个顺序串连接成功\n);return C; }bool Strlen(SqString A, SqString B) { //用于判断两个顺序串是否相等if (A.length ! B.length) { //判断传入的顺序串长度length是否相等printf(顺序串长度不相等\n);return false;}else {int i;for (i 0; i A.length; i) { //遍历两个顺序串判断所含数据是否相等if (A.data[i] ! B.data[i]) {printf(顺序串中所含数据不相等\n);return false;}}printf(传入的顺序串数据相等\n);return true;} }bool StringCopy(SqString A, SqString B) { //用于将B顺序串数据复制到A顺序串if (A.length B.length) { //判断要复制的顺序串长度是否大于新的顺序串printf(要复制的顺序串长度大于新的顺序串\n);return false;}else {int i0;while (i B.length) { //遍历要复制的顺序串A.data[i] B.data[i];i;}printf(顺序串复制成功\n);A.length B.length; //更新新的顺序串的长度lengthreturn true;} }bool Assign(SqString A, char str[]) { //用于将字符数组中的数据赋值给顺序串if (strlen(str) Initsize) { //判断传入的字符数组数据是否过大printf(字符数组过大顺序串存储不足\n);return false;}else {int i 0;while (str[i] ! \0) { //遍历字符数组并将其数据赋值到顺序串A.data[i] str[i];i;}A.length i; //更新顺序串长度lengthprintf(赋值成功\n);return true;} }bool InitString(SqString A) { //用于初始化顺序串A.length 0; //将串中length赋初值为0printf(顺序串初始化成功\n);return true; } 顺序串测试案列 void main() {SqString X,Y,Z;InitString(X);InitString(Y);InsertString(X);InsertString(Y);DispStr(X);printf(\n);Index(X, Y); }
http://www.w-s-a.com/news/113834/

相关文章:

  • 建设通同类网站网站设计公司种类
  • 台州专业做网站网站可以个人做吗
  • 个人logo在线生成免费乐陵德州seo公司
  • 网站回答问题app怎么做专业定制网红柴火灶
  • 网站做的最好的公司行业网址大全
  • 内网怎么做网站服务器seo统计
  • 丽水市企业网站建设 微信营销 影视拍摄计算机专业吃香吗
  • 龙岗做网站公司哪家好找到做网站的公司
  • 网站图片alt属性wordpress 自定义栏目 调用
  • 怎样建网站最快广州网站建设工程
  • iis7 网站404错误信息12306网站很难做吗
  • 网站建设600元包公司设计图片大全
  • 网站建设费用怎么做分录做校园网站代码
  • 网站改版做重定向福州网站建设思企
  • 网站建设全流程企业形象网站开发业务范畴
  • wordpress无法查看站点西安优秀高端网站建设服务商
  • 固始网站制作熟悉免费的网络营销方式
  • 做网站到a5卖站赚钱搜索引擎优化代理
  • 沈阳网站建设包括win10优化
  • 做百度手机网站点击软网站seo优化徐州百度网络
  • 徐州专业网站制作标志设计作业
  • 自己可以做网站空间吗海天建设集团有限公司网站
  • 教学督导网站建设报告aspcms网站图片不显示
  • 网站开发公司成本是什么门户网站宣传方案
  • 上海 企业网站建设网站怎么开通微信支付
  • 饮料网站建设wordpress主题猫
  • 网站建设需要编码不有没有专门的网站做品牌授权的
  • 做爰在线网站免费空间列表
  • 网站外链建设工作总结郑州网站建设扌汉狮网络
  • 建设企业网站的需要多长时间网站使用说明书模板