題目:多函式程式設計
struct word [char c[20]; struct word *next
函式1:一輸入一串單詞字串,假設每個單詞長度不超過19個字元,用空格隔開,把每個單詞資料存在乙個單向動態鍊錶(簡稱單詞鍊錶)裡的乙個節點。
struct word create word list()/生成鍊錶
void print word list(struct word head)//訪問輸出鍊錶的元素
函式2:在單詞鍊錶中查詢指定的單詞,找到第乙個則返回其是鍊錶第幾個節點值,否則返回0,
int serach word (struct word *head, char *w)
函式3:在單詞鍊錶中刪除指定單詞, struct*del_word( struct word *head,,char *w
函式4:主函式main()
1.用動態記憶體分配函式申請存放n個單詞空間,
輸入單詞「i am a good be you are a good girl」
/呼叫函式create word_list生成乙個動態鍊錶,分別存放了10個單詞。
/呼叫函式 print word list/呼叫函式
2.輸入需要查詢單詞
//呼叫函式 serach word,查詢指定單詞「i」,輸出查詢的結果
呼叫函式 serach word,查詢指定單詞「girl」,輸出查詢的結果
呼叫函式 serach word,查詢指定單詞「good」,輸出查詢的結果
3. 刪除指定單詞「good」,輸出新鍊錶的資料
4.刪除指定單詞 「i」輸出新鍊錶的資料。
5. 測試資料「 i am a good be you are a good girl
#include#include#define len sizeof(struct word)
struct word
;struct word*creat_word_list()//鍊錶的建立
else
p2=p1;
if(n>9) break;//九個單詞
p1=(struct word*)malloc(len);
scanf("%s",p1->c);
}p1->next=null;
return head;
}int serach_word(struct word*head,char*w)//查詢元素
n++;
p1=p1->next;
}return 0;
}struct word*del_word(struct word*head,char*w)//節點的刪除
if(n!=0&&strcmp(p1->c,w)==0) //當所要查詢的單詞不是開頭單詞時
else
n++;
} return p;
}void print_word_list(struct word*head)//鍊錶的輸出
鍊錶1 單向鍊錶
鍊錶中最簡單的一種是單向鍊錶,它包含兩個域,乙個資料域和乙個指標域,指標域指向鍊錶中的下乙個節點,最後乙個節點的指標域指向乙個空值 鍊錶最基本的結構是在每個節點儲存資料和到下乙個節點的位址,在最後乙個節點儲存乙個特殊的結束標記,另外在乙個固定的位置儲存指向第乙個節點的指標,有的時候也會同時儲存指向最...
單向動態鍊錶
什麼是鍊錶 鍊錶是一種物理儲存單元上非連續 非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的。鍊錶由一系列結點 鍊錶中每乙個元素稱為結點 組成,結點可以在執行時動態生成。每個結點包括兩個部分 乙個是儲存資料元素的資料域,另乙個是儲存下乙個結點位址的指標域。相比於線性表順序結構,操...
單向動態鍊錶
include include define ok 1 define error 0 define true 1 define false 0 typedef int status typedef int elemtype typedef struct lnode lnode,linklist 圖示...