線性表作業 字串

2022-09-08 06:48:08 字數 1287 閱讀 5564

這裡的**不是源**。

給定字串用陣列鍊錶表示,每個鍊錶節點有4個字元的空間。求:index():確定模式串在第幾塊的第幾個位置;substr(m,n):求從m位開始n長度的字串。

3.1 結構體以及函式宣告

1

//用#表示空元素

2 typedef struct

node

3 node;

7 node *create(node *head, char str, int lens); //

建立串8

void display(node *head); //

列印塊鏈形式的串

9void index(node *head, char

dst);

10void substr(node *head, int m, int n);

3.2 主函式

1

void

main()

2

3.3 將字串儲存在陣列鍊錶中

1 node *create(node *head, char str, int

lens)220

if(4*i+j//

新建鍊錶節點

2127}28

return

head;

29 }

3.4 列印

1

void display(node *head)

210 }

3.5 index()

1

void index(node *head, char

dst)214

//失敗則回退到初始位置的下乙個字元

15else

1623

if(i>3) //

移位24

28if(k>3) //

回退位置變為下乙個鍊錶節點

2933}34

//確定lump和site的值

35if(tsite%4==0)36

40else

4145 printf("

首位置在第%d塊(從1開始)中,下標(從0開始)為%d處\n

", lump, site);

46 }

3.6 substr()

1

void substr(node *head, int m, intn)2

24}25}

26puts(clu);

27 }

串(字串) 特殊的線性表

串是一種特殊的線性表,其資料元素僅僅由乙個字元組成,計算機非數值時處理的物件經常是字串資料 1.串的概念串是由零個或多個任意字元組成的字串行 2.串的術語 3.串的儲存方式 對串的儲存方式取決於我們對串的運算。如果只是輸入或輸出常量出現,則需要儲存該串的字串行 3.1串的順序儲存 這種儲存方法可以直...

作業 線性表練習

1 1對於順序儲存的長度為n的線性表,訪問結點和增加結點的時間複雜度分別對應為o 1 和o n 2分 t 1 2對於順序儲存的長度為n的線性表,刪除第乙個元素和插入最後乙個元素的時間複雜度分別對應為o 1 和o n 2分 f 1 3迴圈鍊錶不是線性表。2分 f 1 3答案正確 2 分 1 4順序儲存...

部落格作業2 線性表

定義變數n存放順序表長度,i,j 0控制迴圈,l 1存放子列長度,k,m,max存放最大子列長度,flag存放最長子列陣列下標,sum 0求和 scanf d n int a n 存放母列 b 100000 存放子列長度 for i 0 to n 輸入母列 end for for i 1 to n ...