除了順序串,還有鏈串,所謂鏈串,就是鏈?zhǔn)酱鎯Φ淖址?/p>
下面是鏈串的簡單實(shí)現(xiàn)
// 鏈串
#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始終指向尾結(jié)點(diǎn)
for (i=0;cstr[i]!='\\0';i++)
{ p=(LinkStrNode *)malloc(sizeof(LinkStrNode));
p->data=cstr[i];
r->next=p; r=p;
}
r->next=NULL; //尾結(jié)點(diǎn)next域置為空
}
void DestroyStr(LinkStrNode *s)
{ LinkStrNode *pre=s,*p=s->next; //pre指向結(jié)點(diǎn)p的前驅(qū)結(jié)點(diǎn)
while (p!=NULL) //掃描鏈串s
{ free(pre); //釋放pre結(jié)點(diǎn)
pre=p; //pre、p同步后移一個(gè)結(jié)點(diǎn)
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指向結(jié)果串的尾結(jié)點(diǎn)
while (p!=NULL) //用p掃描s的所有數(shù)據(jù)結(jié)點(diǎn)
{ q=(LinkStrNode *)malloc(sizeof(LinkStrNode));
q->data=p->data; //將p結(jié)點(diǎn)復(fù)制到q結(jié)點(diǎn)中
r->next=q;r=q; //將q結(jié)點(diǎn)鏈接到str的末尾
p=p->next;
}
p=t->next;
while (p!=NULL) //用p掃描t的所有數(shù)據(jù)結(jié)點(diǎn)
{ q=(LinkStrNode *)malloc(sizeof(LinkStrNode));
q->data=p->data; //將p結(jié)點(diǎn)復(fù)制到q結(jié)點(diǎn)中
r->next=q;r=q; //將q結(jié)點(diǎn)鏈接到str的末尾
p=p->next;
}
r->next=NULL; //尾結(jié)點(diǎn)的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
上述代碼是對偽代碼的簡單實(shí)現(xiàn),沒有語法錯(cuò)誤,可作為參考用例。
審核編輯:劉清
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報(bào)投訴
-
數(shù)據(jù)存儲
+關(guān)注
關(guān)注
5文章
977瀏覽量
50955 -
字符串
+關(guān)注
關(guān)注
1文章
584瀏覽量
20552
發(fā)布評論請先 登錄
相關(guān)推薦
字符串的表示
字符串的表示 隨著計(jì)算機(jī)在文字處理與信息管理中的廣泛應(yīng)用, 字符串已成為最常用的數(shù)據(jù)類型之一, 許多計(jì)算機(jī)中都提供字符串操作功能, 一些計(jì)算機(jī)還給出讀寫字
發(fā)表于 10-13 17:11
?3072次閱讀
C語言字符串轉(zhuǎn)數(shù)字實(shí)現(xiàn)方法
在C/C++語言中沒有專門的字符串變量,通常用字符數(shù)組來存放字符串。字符串是以“\0”作為結(jié)束符。C/C++提供了豐富的字符串處理函數(shù),下面
發(fā)表于 11-14 17:50
?1.3w次閱讀
字符串移位包含的問題解決方案
問題:給定字符串s和t,判斷是否字符串t能通過將s移位后的字符串所包含。 方法一 最簡單的方法就是將s進(jìn)行循環(huán)移位,再判斷移位后的字符串是否
發(fā)表于 11-29 10:05
?1051次閱讀
什么是復(fù)制字符串?Python如何復(fù)制字符串
連續(xù)幾篇文章都在寫 Python 字符串,這出乎我的意料了。但是,有的問題,不寫不行,特別是那種靈機(jī)一動想到的問題,最后你發(fā)現(xiàn),很多人根本不懂卻又誤以為自己懂了。那就繼續(xù)刨根問底,探究個(gè)明白吧
發(fā)表于 11-25 10:32
?3027次閱讀
strtok拆分字符串
大家好,我是驚覺,今天聊聊字符串。字符串的使用場景非常之多,人機(jī)交互和雙機(jī)通信都會用到。比如:通過串口向單片機(jī)發(fā)送指令,以執(zhí)行操作或配置參數(shù)。單片機(jī)讀取傳感器數(shù)據(jù),數(shù)據(jù)格式是字符串。一般GPS數(shù)據(jù)
發(fā)表于 01-13 15:46
?8次下載
字符串函數(shù)重寫練習(xí)
字符串函數(shù)重寫練習(xí):字符串比較、字符串拼接、字符串查找、字符串拷貝、內(nèi)存比較、內(nèi)存拷貝、內(nèi)存初始化、內(nèi)存比較、二維數(shù)組定義及基本使用、位運(yùn)算
一文詳解JavaScript字符串
JavaScript字符串是原始值。此外,字符串是不可變的。這意味著如果你修改一個(gè)字符串,你總是會得到一個(gè)新的字符串。原始字符串不會被改變。
python字符串有哪些特定方法
python字符串序列操作也適用于列表和元組。
python字符串還有獨(dú)有方法,即字符串對象的函數(shù),其他對象不可調(diào)用,只有字符串對象可調(diào)用。
字符串的相關(guān)知識
TCL 中的數(shù)據(jù)類型只有一種:字符串。這些字符串可以是字母、數(shù)字、布爾值、標(biāo)點(diǎn)符號等特殊字符的組合。在某些特殊命令的作用下,字符串可以向其他數(shù)據(jù)類型轉(zhuǎn)換。下面將系統(tǒng)的講解或回顧下
mysql字符串包含某個(gè)字符串
將詳盡、詳實(shí)、細(xì)致地探討MySQL中字符串包含的實(shí)現(xiàn)方法。 在MySQL中,可以通過使用內(nèi)建函數(shù)和通配符來實(shí)現(xiàn)字符串包含的操作。下面將詳細(xì)介紹幾種常用的方法: 使用LIKE通配符: L
labview字符串如何轉(zhuǎn)換為16進(jìn)制字符串
在LabVIEW中,將字符串轉(zhuǎn)換為16進(jìn)制字符串是一個(gè)常見的需求,尤其是在處理數(shù)據(jù)通信和硬件接口時(shí)。LabVIEW提供了多種方法來實(shí)現(xiàn)這一轉(zhuǎn)換,包括使用內(nèi)置函數(shù)、編寫VI(Virtual
字符串反轉(zhuǎn)的實(shí)現(xiàn)方式
在編程中,字符串反轉(zhuǎn)是一個(gè)基礎(chǔ)而重要的操作,它涉及到將一個(gè)字符串中的字符順序顛倒過來。這個(gè)操作在多種編程語言中都有不同的實(shí)現(xiàn)方式,本文將探討幾種常見的
字符串與字符數(shù)組的區(qū)別
大多數(shù)編程語言中是一個(gè)高級數(shù)據(jù)結(jié)構(gòu),通常由語言的運(yùn)行時(shí)環(huán)境直接支持。字符串通常以連續(xù)的字符序列存儲,但它們不僅僅是字符的簡單集合。
字符串在數(shù)據(jù)庫中的存儲方式
數(shù)據(jù)庫是現(xiàn)代信息技術(shù)中存儲和管理數(shù)據(jù)的核心組件。字符串作為最常見的數(shù)據(jù)類型之一,在數(shù)據(jù)庫中的存儲方式對其性能和可擴(kuò)展性有著重要影響。 數(shù)據(jù)類型 固定長度字符串 :如CHAR類型,它為每
評論