#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.從鍵盤輸入一些文字,統計文字單詞的個數...