C語言 資料結構 實驗三 自用

2021-10-02 09:23:04 字數 2510 閱讀 6645

#include

"stdio.h"

#include

"stdlib.h"

//#include "iostream.h"

#define maxstrlen 255

//使用者可在255以內定義最大串長

typedef

unsigned

char sstring[maxstrlen+1]

;//0號單元存放串的長度

void

get_next

(sstring t,

int next)

else

*/next[i]

= j;

}else}}

intmain()

s[0]

= j-1;

//s[0]用於儲存字串中字元個數

get_next

(s, next)

;printf

("next j is:");

for(j =

1; j <= s[0]

; j++

)printf

("%d"

, next[j]);

printf

("\n");

}}/*description

編寫演算法,錄入多個字串計算並驗證next值,輸入0結束。

本題目給出部分**,請補全內容。

--輸入格式--

第一行:輸入n,表示有n個需計算next值的字串

第二至n+1行:每行輸入乙個字串

--輸出格式--

第1至第n行:通過計算每相應行的字串得出的next值

--輸入樣例--

4abcdefg

aaaaab

abaabcac

aaabaaab

--輸出樣例---

next j is:0111111

next j is:012345

next j is:01122312

next j is:01231234

*/

#include

"stdio.h"

#include

"stdlib.h"

//#include "iostream.h"

#define true 1

#define false 0

#define ok 1

#define error 0

#define infeaslble -1

#define overflow -2

#define maxstrlen 255

//使用者可在255以內定義最大串長

typedef

unsigned

char sstring[maxstrlen+1]

;//0號單元存放串的長度

void

get_next

(sstring t,

int next)

else

}else}}

intindex_kmp

(sstring s, sstring t,

int pos)

else}if

(j > t[0]

)else

}int

main()

s[0]

= i-1;

//s[0]用於儲存主串中字元個數

ch =

getchar()

;for

(i =

1; i <= maxstrlen &&

(ch !=

'\n'

); i++

)//錄入模式串

t[0]

= i-1;

//t[0]用於儲存模式串中字元個數

pos =

index_kmp

(s, t,0)

;//請填空

printf

("%d\n"

, pos);}

}/*description

用kmp演算法對主串和模式串進行模式匹配。

本題目給出部分**,請補全內容。

--輸入格式--

第一行:輸入n,表示有n對字串需要匹配。

第二行:輸入第1個主串

第三行:輸入第1個模式串

第四行:輸入第2個主串

第五行:輸入第2個模式串

……倒數第二行:輸入第n個主串

倒數第一行:輸入第n個模式串

--輸出格式--

第一至第n行:輸出每相應模式串的匹配值

--輸入樣例--

4oadhifgoarhglkdsa

oarabcdefg

decalgeojflas

ojfjfaweiof

of--輸出樣例--80

57*/

【自用】

c語言 資料結構 實驗二 【自用】

c語言 資料結構 實驗四 【自用】

資料結構實驗三

一 要求完成時間 實驗開始後的第四周之前完成 二 實驗目的 1 掌握有序鍊錶的基本操作 插入 刪除 查詢。2 掌握鍊錶遍歷器的使用方法。三 實驗內容 輸入n個不為零的整數作為節點元素值,遇到0代表輸入結束 不建立元素值為0的節點 建立有序鍊錶。輸出整個鍊錶。輸入乙個整數,將該數插入到有有序鍊錶相應位...

資料結構 C語言 實驗一

一元多項式求導 熟練掌握鏈式線性表的基本操作 設計函式求一元多項式的導數。1 輸入格式說明 以指數遞降方式輸入多項式非零項係數和指數 絕對值均為不超過1000的整數 數字間以空格分隔。2 輸出格式說明 以與輸入相同的格式輸出導數多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。3 樣...

資料結構與演算法 實驗三

1 利用順序棧將乙個非負的十進位制整數n轉換為對應的b進製數。要求 非負的十進位制整數n和b都從鍵盤輸入 轉換結果從螢幕輸出。2 括號匹配問題,編寫乙個判別表示式中括號是否正確配對的函式,並設計乙個測試主函式。include include define maxstacksize 100 typed...