全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 模拟技术 >

链式存储字符串的简单实现

时间:2023-01-18 10:51

人气:

作者:admin

标签: 简单    存储  链式  字符串 

导读:除了顺序串,还有链串,所谓链串,就是链式存储的字符串。...

除了顺序串,还有链串,所谓链串,就是链式存储的字符串。

2.jpg

下面是链串的简单实现

// 链串


#include 
#include 


typedef struct snode 
{   char data;
    struct snode *next;
} LinkStrNode;


//生成串
void StrAssign(LinkStrNode *s,char cstr[])
{  int i;
   LinkStrNode *r,*p;
   s=(LinkStrNode *)malloc(sizeof(LinkStrNode));
   r=s;          //r始终指向尾结点
   for (i=0;cstr[i]!='\\0';i++) 
   {  p=(LinkStrNode *)malloc(sizeof(LinkStrNode));
      p->data=cstr[i];
      r->next=p; r=p;
   }
   r->next=NULL;      //尾结点next域置为空
}


void DestroyStr(LinkStrNode *s)
{  LinkStrNode *pre=s,*p=s->next;  //pre指向结点p的前驱结点
   while (p!=NULL)      //扫描链串s
   {  free(pre);      //释放pre结点
      pre=p;        //pre、p同步后移一个结点
      p=pre->next;
   }
   free(pre);
}


LinkStrNode *Concat(LinkStrNode *s,LinkStrNode *t)
{  LinkStrNode *str,*p=s->next,*q,*r;
   str=(LinkStrNode *)malloc(sizeof(LinkStrNode));
   r=str;      //r指向结果串的尾结点
   while (p!=NULL)    //用p扫描s的所有数据结点
   {  q=(LinkStrNode *)malloc(sizeof(LinkStrNode));
      q->data=p->data;  //将p结点复制到q结点中
      r->next=q;r=q;    //将q结点链接到str的末尾
      p=p->next;
   }
   p=t->next;
   while (p!=NULL)    //用p扫描t的所有数据结点
   {  q=(LinkStrNode *)malloc(sizeof(LinkStrNode));
      q->data=p->data;  //将p结点复制到q结点中
      r->next=q;r=q;    //将q结点链接到str的末尾
      p=p->next;
   }
   r->next=NULL;    //尾结点的next域置为空
   return str;
}


// 查询子串
void Repl(LinkStrNode *s)
{ 
   LinkStrNode *p=s->next, *q;
   int find=0;
   while (p->next!=NULL && find==0)          //查找ab子串
   { 
       if (p->data=='a' && p->next->data=='b')
       {  p->data='x'; p->next->data='z';
          q=(LinkStrNode *)malloc(sizeof(LinkStrNode));
          q->data='y';  q->next=p->next;  p->next=q;
          find=1;
       }


       else p=p->next; 
    }
}


// 查询子串
int index(SqString s,SqString t)
{  int i,j,k;
   for (i=0;i<=s.length-t.length;i++) 
   {  for (k=i,j=0; k

上述代码是对伪代码的简单实现,没有语法错误,可作为参考用例。

审核编辑:刘清

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信