几天没看数据结构了,今天重新开始了。
串是一种特殊的线性表,它的每个结点是一个字符,所以串也称作字符串。
关于串的操作主要有求串长,串复制,串连接,求子串,串插入,串删除,子串定位等。串的操作也是C语言笔试中常考的一部分。
下面的代码实现了串的主要操作。
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 20
char *String_Create(); //创建串
int String_Length(char *s); //求串长
void String_Show(char *s); //输出串
char *String_Copy(char *d, char *s); //串复制
char *String_Connect(char *d, char *s); //串连接
char *String_SubStr(char *d, char *s, int pos, int len); //求子串
int String_Compare(char *d, char *s); //串比较
char *String_Insert(char *d, char *s, int pos); //串插入
char *String_Delete(char *d, int pos, int len); //串删除
int String_Index(char *d, char *s, int pos); //串匹配
int main(void)
{
int choice;
char *str, *c;
int ans, pos, len;
c = (char*)malloc(sizeof(MAXSIZE));
printf("请输入一串字符串(小于10个字符):\n");
str = String_Create();
whil