資料結構 演算法4 1 定位函式Index

2021-07-23 14:23:19 字數 1560 閱讀 5369

#include#include#include#define ok 1

#define error 0

#define true 1

#define false 0

#define maxsize 40

//最大字串

typedef int status;

typedef char sstring[maxsize+1];

//此處宣告的sstring[maxsize+1]雖是陣列,在substring中作為指標使用,

//因位是指標,sstring[0]存放實際陣列的位址,使用時不用加*或&,直接傳入陣列的值

/*******************************宣告部分****************************************/

status strassign(sstring t,char *chars);

//生成乙個其值等於chars的串t 第乙個元素為字串長度

int strlength(sstring s);

//操作結果:返回s的元素個數,成為串的長度

int strcompare(sstring s,sstring t);

//操作結果:若s>t,則返回值》0;若s = t,則返回值 =0;若sstatus substring(sstring sub, sstring t,int pos,int len);

//用sub返回串t的第pos個字元起長度為len的子串

int index(sstring s,sstring t,int pos);

//若主串s中存在和串t值相同的子串,則返回它在主串中第pos個字元之後第一次出現的位置;否則函式值為0

/*******************************函式部分****************************************/

status strassign(sstring t,char *chars)

return ok;

}int strlength(sstring s)

int strcompare(sstring s,sstring t)

else

}return s[0]-t[0];

}status substring(sstring sub, sstring t,int pos,int len)

sub[0] = len+1;

return ok;

}int index(sstring s,sstring t,int pos)

}//if

printf("不存在\n");

return

0; //s中不存在與t相等的子串

}//index

/*******************************主函式部分**************************************/

41 資料結構

現實世界的儲存,我們使用的工具和建模。每種資料結構有自己的優點和缺點,資料儲存的常用結構有 棧 佇列 陣列 鍊錶和紅黑樹。棧 stack,又稱堆疊,它是運算受限的線性表,其限制是僅允許在標的一端進行插入和刪除操作,不允許在其他任何位置進行新增 查詢 刪除等操作。簡單的說 採用該結構的集合,對元素的訪...

資料結構和演算法 4 1 棧

用途 陣列,鍊錶,樹等一般用來作為資料儲存的工具,棧和佇列更多是用來作為構思程式演算法的輔助工具,用來執行某項特殊任務,例如handler中的messagequeue訊息佇列,activity棧等 受限訪問 陣列可以通過下標隨機訪問或遍歷,而棧和佇列訪問是受限的,即在特定時刻只有乙個資料項可以被讀取...

《資料結構》 實驗4 1

1.實驗目的鞏固字串和多維陣列相關知識,學會運用靈活應用。1.回顧字串和多維陣列的邏輯結構和儲存操作特點,字元和陣列的物理儲存結構和常見操作。2.學習運用字串和和陣列的知識來解決實際問題。3.進一步鞏固程式除錯方法。4.進一步鞏固模板程式設計。2.實驗內容 1.從鍵盤輸入一些文字,統計文字單詞的個數...