.

.

#include

#include

#include

#define OK 1

#define ERROR 0

#define TRUE 1

#define FALSE 0

#define OVERFLOW -2

#define MAXSTRLEN 255

typedef int ElemType;

typedef int Status;

typedef unsigned char SString[MAXSTRLEN+1];

//串赋值操作

Status StrAssign(SString T,char chars[]){

// 生成一个其值等于chars的串T

int i;

if(strlen(chars)>MAXSTRLEN)

return ERROR;

T[0]=strlen(chars);

for(i=0;i<=T[0];i++){

T[i+1]=chars[i];}

return OK;

}//StrAssign

//输出串

void StrPrint(SString S){

int i;

for(i=1;i<=S[0];i++){

printf("%c",S[i]);

}

printf("\n");

}//PrnStr

//串复制操作

Status StrCopy(SString T,SString S){

// 由串S复制得串T

int i;

for(i=1;i<=S[0];i++)

T[i]=S[i];

T[0]=S[0];

return OK;

}//StrCopy

//判空操作

Status StrEmpty(SString S){

if(S[0]==0)

return OK;

else

return ERROR;

}//StrEmpty

//串比较操作

int StrCompare(SString S,SString T){

int i;

for(i=1;i<=S[0]&&i<=T[0];++i)

if(S[i]!=T[i])

return S[i]-T[i];

return S[0]-T[0];

}//StrCompare

//求长度操作

int StrLength(SString S){

return S[0];

}//StrLength

//串连接操作

Status Concat(SString T,SString S1,SString S2){

int i;

Status uncut;

if(S1[0]+S2[0]<=MAXSTRLEN){

for(i=1;i<=S1[0];i++){

T[i]=S1[i];}

for(i=1;i<=S2[0];i++){

T[S1[0]+i]=S2[i];}

T[0]=S1[0]+S2[0];

uncut=TRUE;

}

else if(S1[0]

for(i=1;i<=S1[0];i++){

T[i]=S1[i];}

for(i=1;i<=MAXSTRLEN-S1[0];i++){

T[S1[0]+i]=S2[i];}

T[0]=MAXSTRLEN;

uncut=FALSE;

}

else{

for(i=0;i<=MAXSTRLEN;i++){

T[i]=S1[i];}

uncut=FALSE;

}

return uncut;

}//Concat

//取子串操作

Status SubString(SString Sub,SString S,int pos,int len){

int i;

if(pos<1||pos>S[0]||len<0||len>S[0]-pos+1)

return ERROR;

for(i=1;i<=len;i++){

Sub[i]=S[pos+i-1];}

Sub[0]=len;

return OK;

}//SubString

//求子串位置操作

int Index(SString S,SString T,int pos){

int i,j;

i=pos;

j=1;

while(i<=S[0]&&j<=T[0]){

if(S[i]==T[j]) {

++i;

++j;

}

else{// 指针后退重新开

串的顺序存储结构c语言版,数据结构C语言版串的定长顺序存储表示和实现.doc相关推荐

  1. 数据结构严蔚敏C语言版—线性表顺序存储结构(顺序表)C语言实现相关代码

    数据结构严蔚敏C语言版-线性表顺序存储结构(顺序表)C语言实现相关代码 1.运行环境 2.准备工作 1)项目构建 1>新建一个SeqList项目 2>新建两个文件Sources和Heade ...

  2. 串的定长顺序存储结构|C++实现

    数据结构里的串,是一种简单的线性表 一系列相连的字符就形成了字符串 空串不含有任何字符 空格也是字符 对照ASCII码 子串必须是一个串中连续字符组成的,哪怕所有元素都是一个串中的,但是不连续也不是子 ...

  3. 数据结构 | 实现串(定长顺序存储表示法)

    -------------------------------------------- 定长顺序存储表示法 -------------------------------------------- ...

  4. c语言实现定长顺序存储,c语言:定长顺序串的基本操作实实现

    // 串的定长顺序存储实现.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include #include #include #incl ...

  5. 数据结构笔记(十二)-- 定长顺序结构的实现

    定长顺序结构的实现 一.定长顺序结构的概述 定长顺序结构 是类似于线性表的顺序存储结构,使用一组连续的存储单元存储串值的字符序列. 二.串的定长顺序存储表示 # define MAXSTRLEN 40 ...

  6. 以串结构存储c语言版,数据结构C语言版 串的块链存储表示和实现

    <数据结构C语言版 串的块链存储表示和实现>由会员分享,可在线阅读,更多相关<数据结构C语言版 串的块链存储表示和实现(13页珍藏版)>请在人人文库网上搜索. 1.*数据结构C ...

  7. 【数据结构】C语言-实现(定长顺序存储)串的基本操作(无C++内容)

    本文章实现的基本操作:1.初始化:2.串的输入:3.串的输出:4.串的长度:5.串的比较:6.清空串:7.判空:8.串的连接:9.BF匹配模式:10.串的删除. 目录 头文件 SString.h 函数 ...

  8. 逆置单链表c语言程序,(数据结构C语言版)顺序表和单链表的逆置

    <(数据结构C语言版)顺序表和单链表的逆置>由会员分享,可在线阅读,更多相关<(数据结构C语言版)顺序表和单链表的逆置(7页珍藏版)>请在人人文库网上搜索. 1.实验1-1顺序 ...

  9. 字符串静态顺序结构C/C++实现(数据结构严蔚敏版)

    1.头文件String.h #include<stdio.h> #include<stdlib.h> #include<string.h> #include< ...

  10. 数据结构java语言kmp_数据结构(java语言描述)模式匹配——KMP算法

    关于模式匹配算法,BF是比较号理解的,但是属于暴力匹配,资源浪费太严重. KMP算法确实比较难懂(PS:反正我是看了好久才弄明白,可能也是我理解能力太差=_=) 下面是我的一些心得. http://w ...

最新文章

  1. Glide-源码分析(一)
  2. Lucene——Field.Store(存储域选项)及Field.Index(索引选项)
  3. 数据结构与算法书籍推荐
  4. RabbitMQ消息持久化处理
  5. java ognl表达式_java -------ognl表达式入门
  6. 未来的计算机作文 800字,未来科技作文800字
  7. 学习笔记之rpm程序包管理功能解析
  8. 报错:error while loading shared libraries: libz.so.1: cannot open shared object file
  9. ubuntu 升级python_如何将 Ubuntu 16 和 18 上的 python 升级到最新 3.8 版
  10. linux ip地址配置
  11. 激光雷达(LiDAR)| 第一节:点云处理库与软件介绍
  12. macOS Monterey 12.0beta4黑苹果镜像虚拟机版本
  13. python turtle库详解_Python turtle库详解
  14. 深入探索WebSockets
  15. 《人工智能与模式识别》
  16. 河北省专科院校计算机专业排名,河北省高职院校全国排名+各院校王牌专业
  17. CPU 的 ring0,ring1,ring2,ring3
  18. Clover 驱动文件夹_黑苹果(clover文件夹中各个文件的主要功能)
  19. autoconf 版本升级
  20. 滴滴实时计算平台在运营监控方面的应用

热门文章

  1. Android实战简易教程-第三十四枪(基于ViewPager和FragmentPagerAdapter实现滑动通用Tab)...
  2. windows版Cacti-0.8.8h一键安装
  3. ActiveMQ(li)
  4. hibernate4中取得connection的方法
  5. RSA加密算法破解及原理
  6. PHP相关关系及定义
  7. 计算机英语缩写AGP,IT行业常用计算机缩略语
  8. vue常见错误汇总(自看)
  9. 登高自卑 | 我的PyTorch入门与实践笔记
  10. display会影响canvas吗_多动症会影响智商吗?