串——数据结构
来源:互联网 发布:qq飞车紫电神驹29数据 编辑:程序博客网 时间:2024/05/22 15:57
数据结构
#include<stdio.h>#include<stdlib.h>#include<string.h>#define maxn 100typedef struct //串;{ char ch[maxn]; int len;} SString;void StrInsert(SString *s,int pos,SString t) //在s上的pos位置查入一个t的字符串;{ if(pos<0||pos>s->len) return; if(s->len+t.len<=maxn) { for(int i=s->len+t.len-1; i>=t.len+pos; i--) s->ch[i]=s->ch[i-t.len]; for(int i=0; i<t.len; i++) s->ch[i+pos]=t.ch[i]; s->len+=t.len; } else if(pos+t.len<=maxn) { for(int i=maxn-1; i>t.len+pos-1; i--) s->ch[i]=s->ch[i-t.len]; for(int i=0; i<t.len; i++) s->ch[i+pos]=t.ch[i]; s->len=maxn; } else { for(int i=0; i<maxn-pos; i++) s->ch[i+pos]=t.ch[i]; s->len=maxn; }}void StrDelete(SString *s,int pos,int len) //从s串上的pos位置删除len个数据;{ if(pos<0||pos>(s->len-len)) return; for(int i=pos+len; i<s->len; i++) s->ch[i-len]=s->ch[i]; s->len-=len;}int StrCompare(SString s,SString t) //字符串比较;{ for(int i=0; i<s.len&&i<t.len; i++) if(s.ch[i]!=t.ch[i]) return(s.ch[i]-t.ch[i]); return(s.len-t.len);}int StrIndex(SString s,int pos,SString t) //s串的pos位置开始t字符串出现的首位置;{ int i,j,start; if(t.len==0) return 0; start=pos; i=start; j=0; while(i<s.len&&j<t.len) { if(s.ch[i]==t.ch[j]) { i++; j++; } else { start++; i=start; j=0; } } if(j>=t.len) return start; else return -1;}int main(){ SString s1,s2; char a='A'; for(int i=0; i<10; i++) { s1.ch[i]=a; a++; } s1.len=10; a='C'; for(int i=0; i<3; i++) { s2.ch[i]=a; a++; } s2.len=3; StrInsert(&s1,3,s2); for(int i=0; i<s1.len; i++) printf("%c",s1.ch[i]); printf("\n"); StrDelete(&s1,3,3); for(int i=0; i<s1.len; i++) printf("%c",s1.ch[i]); printf("\n"); int x=StrCompare(s1,s2); printf("%d\n",x); x=StrIndex(s1,0,s2); printf("%d\n",x); return 0;}
阅读全文
0 0
- 数据结构——串
- 数据结构——串
- 串——数据结构
- 数据结构—顺序串
- 数据结构—串
- 数据结构——什么是数据结构
- 【大话数据结构】——-数据结构
- 数据结构 —— 数据结构概述
- [数据结构]数据结构——链表法
- 数据结构——顺序串
- 大话数据结构——串
- 数据结构之——串
- 数据结构—文本串加密
- PHP数据结构之一:PHP数据结构基本概念—数据结构
- 数据结构——基本数据结构之栈
- 数据结构——基本数据结构之队列
- 数据结构——基本数据结构之有根树
- 数据结构——基本数据结构之栈
- 洛谷3760,异或和
- 并发工具
- csplitwnd多个子View间图像同步移动
- Java从控制台获取数据的方法
- Mybatis第一章
- 串——数据结构
- XDOJ 1091: 看Dota视频的V8
- 微信域名检测接口,微信域名防封技术服务
- Protobuf 和 Json的对比
- redis链表link命令
- tar命令使用
- CSDN博客中C++相关代码出现 <span style="white-space:pre"> </span> 乱码问题解决方法
- Java List排序
- 2.5创建可重用的按钮的组