程式設計課程設計報告

2022-11-27 01:48:09 字數 1756 閱讀 3451

設計人:

電氣q1142

李豔平(11150038)

日期:2012-11-29

指導教師:桂超

設計題目:鍊錶操作

一、 設計任務

1、 建立乙個單鏈表,並返回頭結點的位址head

2、 編寫函式circulachain,將上述單鏈表改為單迴圈鍊錶

3、 編寫函式addnode,在資料為x的結點之後插入資料為y的結點

4、 編寫函式delenode,刪除單鏈表中資料為x的結點

5、 解決約瑟夫問題:有n個人,圍坐一圈,對他們從1開始編號,即1,2,3,......,n,如果從某乙個人開始報數,他報數1,按順時針進行,緊挨的人報數2,再往下的人跟著報3......

,一直報到k,凡報到k的人出列,再往下,繼續從1 開始報數,2,3,......,一直報到k,凡報到k的人出列。試輸出該問題中順序出列的人的名字。

二、 功能描述

建立單鏈表函式:chain* crechain(char *ch)

建立單迴圈鍊錶函式:chain* circulchain(char *ch)

銷毀鍊錶:void destroy(chain *head)

顯示鍊錶中每個結點的資料:void show(chain *head)

插入結點函式:void addnode(chain *head, char x, char y)

刪除結點函式:void delenode(chain *head, char x)

三、 程式實現

1、單鏈表的基本操作:

#include

using namespace std;

struct chain

;chain* crechain(char *ch) //建立單鏈表

else

q = p;

}q -> next = null;

return (head);

}void addnode(chain *head, char x, char y) /* 插入結點 */

if (r == null)

cout<<"沒有資料為x的節點!"< else

}}void delenode(chain *head, char x) /* 刪除結點*/

else

}}void show(chain *head) //輸出鍊錶

cout<<"\n";

}void destroy(chain *head) //銷毀鍊錶

}int main()

2、單迴圈鍊錶:

chain* circulchain(char *ch)

else

q = p;

}q -> next = head;

return (head);

}3、約瑟夫問題:

#include

using namespace std;

struct joseph

;joseph *head, *tail; //joseph結構指標,全域性變數

void create(int n)//給每個結點資料賦值

tail = q;

tail->next = head;

}void display(int m) //依次輸出出列的人的名字

else q = pq指向相鄰的下一結點p

}while(q != q -> next); //剩餘結點數不為1,則繼續迴圈

head = q;

}int main()

程式設計課程設計報告

程式設計與演算法 課程設計 課程名稱 程式設計與演算法 姓名 學號 專業 所在院系 指導教師 日期年月日 注 1 無評閱人簽名成績無效 2 必須用鋼筆或原子筆批閱,用鉛筆閱卷無效 3 如有平時成績,必須在上面評分表中標出,並計算入總成績。課程設計評語 2 目錄 3 1 課程 題目 4 2 程式設計思...

《C物件導向程式設計》課程設計報告

題目 分數計算器設定 班級 k0312415 專業 電腦科學與技術 學號 k031241521 k031241535 姓名 周林 指導教師 小組成員 周林,張齊滿 二o一三年 10 月 15 日 一 課程設計問題描述 分數計算器設計是高等學校教務管理的重要組成部分,其內容較多,為了簡化計論,要求設計...

遊戲程式設計課程設計實驗報告

任課教師 李新弘 2014 2015學年第1學期 實驗 報告學號 2012329700002 姓名 陳潔 班級 數字 與技術12 1 班 日期 2015.1.22 一 實驗目的 unity是一種新型的it引擎。這次製作3d保齡球的課程設計,旨在進一步熟悉對於這款遊戲引擎的使用和開發,鍛鍊綜合運用學期...