串 鏈式儲存結構

2021-08-02 16:45:59 字數 2755 閱讀 4124

該文章主要介紹串的鏈式儲存結構以及相關運算。

標頭檔案:linkstring.h

#ifndef linkstring_h_

#define linkstring_h_

#include struct linknode //鏈串結點型別

;class linkstringclass //鏈串類

;#endif

原始檔:linkstring.cpp

#include "linkstring.h"

using namespace std;

//***************====鏈串的基本運算演算法********************

linkstringclass::linkstringclass() //建構函式

linkstringclass::~linkstringclass() //析構函式

delete pre;

}linkstringclass &linkstringclass::operator=(char *cstr) //過載賦值運算子

r->next = null;

return *this;

}linkstringclass &linkstringclass::operator=(linkstringclass &t) //過載賦值運算子

r->next = null;

return *this;

}int linkstringclass::strlength() //求串長度

return i;

}linkstringclass &linkstringclass::operator+(linkstringclass &t) //串連線

p = t.head->next;

while (p != null)

r->next = null;

return nstr;

}linkstringclass &linkstringclass::substr(int i, int j) //求子串

r->next = null;

return nstr;

}linkstringclass &linkstringclass::insstr(int i, linkstringclass &s) //串插入

while (p1 != null)

while (p != null)

r->next = null;

return nstr;

}linkstringclass &linkstringclass::delstr(int i, int j) //串刪除

for (k = 0; knext;

while (p != null)

r->next = null;

return nstr;

}linkstringclass &linkstringclass::repstr(int i, int j, linkstringclass &s) //串替換

for (k = 0; knext;

while (p1 != null)

while (p != null)

r->next = null;

return nstr;

}void linkstringclass::dispstr() //串輸出

cout << endl;

}//***************==鏈串的其他運算演算法********************=

bool strequeal(linkstringclass &s, linkstringclass &t)

if (p1 == null&&p2 == null)

else

return false;

}bool repl(linkstringclass &s)

p = p->next;

} return false;

}//********************鏈串的子串匹配運算演算法***************==

int index1(linkstringclass &s, linkstringclass &t)

else

}if (q == null)

return i - j;

else

return -1;

}

主函式:main.cpp

#include "linkstring.h"

using namespace std;

//********************鏈串的基本運算演算法***************==

void main1()

//***************==鏈串的其他運算演算法***************===

void main2()

else

cout << "s3中不存在ab!" << endl;

}//**********===鏈串的子串匹配運算演算法***************==

void main()

鏈式儲存結構

鍊錶的基本概念 鍊錶是一種線性表,但與陣列不同的是,它允許表中元素的儲存單元任意,由指標將儲存表元素的單元串聯起來,因此稱為鏈式儲存結構 鍊錶可以避免刪除或插入元素時移動大量元素,便於擴充套件儲存空間 對於每個資料元素ai來說,除了儲存其本身的資訊之外,還需儲存乙個指示其直接後繼或前驅的資訊。這兩部...

鏈式儲存結構

鍊錶的基本概念 1 表頭結點 鍊錶中的第乙個結點,包含指向第乙個資料元素的指標以及鍊錶自身的一些資訊 2 資料結點 鍊錶中代表資料元素的結點,包含指向下乙個資料元素的指標和資料元素的資訊 3 尾結點 鍊錶中最後乙個資料結點,其下乙個元素指標為空,表示無後繼 main函式裡寫個測試程式 include...

鏈式儲存 結構

鏈式儲存 結構 功能 增加 刪除 查詢 替換 返回總個數 2018年5月11日15點33分 include include define ele int typedef struct linkarrary linkarray linkarray new void add linkarray l,el...