[輸入]
圖的頂點個數N,圖中頂點之間的關系及起點A和終點B
[輸出]
若A到B無路徑,則輸出“There is no path” 否則輸出A到B路徑上個頂點
[存儲結構]
圖采用鄰接矩陣的方式存儲。
[算法的基本思想]
采用廣度優先搜索的方法,從頂點A開始,依次訪問與A鄰接的頂點VA1,VA2,...,VAK, 訪問遍之后,若沒有訪問B,則繼續訪問與VA1鄰接的頂點VA11,VA12,...,VA1M,再訪問與VA2鄰接頂點...,如此下去,直至找到B,最先到達B點的路徑,一定是邊數最少的路徑。實現時采用隊列記錄被訪問過的頂點。每次訪問與隊頭頂點相鄰接的頂點,然后將隊頭頂點從隊列中刪去。若隊空,則說明到不存在通路。在訪問頂點過程中,每次把當前頂點的序號作為與其鄰接的未訪問的頂點的前驅頂點記錄下來,以便輸出時回溯。
#include<stdio.h>
int number //隊列類型
typedef struct{
int q[20]
The XML Toolbox converts MATLAB data types (such as double, char, struct, complex, sparse, logical) of any level of nesting to XML format and vice versa.
For example,
>> project.name = MyProject
>> project.id = 1234
>> project.param.a = 3.1415
>> project.param.b = 42
becomes with str=xml_format(project, off )
"<project>
<name>MyProject</name>
<id>1234</id>
<param>
<a>3.1415</a>
<b>42</b>
</param>
</project>"
On the other hand, if an XML string XStr is given, this can be converted easily to a MATLAB data type or structure V with the command V=xml_parse(XStr).
學生選課系統,該系統主要實現簡單的大學學生選修課程的功能。
1.系統的用戶主要分為2類:學生和管理員
2.數據描述
<1> 課程: 課程號、課程名、學分、學時、教師、開課學期、適用專業、最大選課人數
<2> 學生:學號、姓名、密碼、專業年級
<3> 學生選課情況:學號、課程號、是否已經考試、成績
<4> 管理員:編號、姓名、密碼
3.功能描述
<1> 學生功能:
a. 登錄:學生使用學號和密碼登錄。
b. 選課功能:學生能夠選擇所需要的課程。
c. 退選功能:學生能夠退選課程。
d. 選課情況查詢:查詢該學生已經選的課程(分學期)。
e. 成績查詢:查詢該學生某一門課程的成績,某學期所有課程的成績。
<2> 管理員功能
a. 登錄:
b. 管理課程:包括課程的增加、刪除、修改等。
c. 選課管理:能夠列出指定學期、課程的選課學生名單,能夠對學生的選課進行調整。
d. 成績表管理:能夠錄入學生的成績,列出指定學期、課程的成績單。
該系統主要實現簡單的大學學生選修課程的功能。 1.系統的用戶主要分為2類:學生和管理員 2.數據描述 <1> 課程: 課程號、課程名、學分、學時、教師、開課學期、適用專業、最大選課人數 <2> 學生:學號、姓名、密碼、專業年級 <3> 學生選課情況:學號、課程號、是否已經考試、成績 <4> 管理員:編號、姓名、密碼 3.功能描述 <1> 學生功能: a. 登錄:學生使用學號和密碼登錄。 b. 選課功能:學生能夠選擇所需要的課程。 c. 退選功能:學生能夠退選課程。 d. 選課情況查詢:查詢該學生已經選的課程(分學期)。 e. 成績查詢:查詢該學生某一門課程的成績,某學期所有課程的成績。 <2> 管理員功能 a. 登錄: b. 管理課程:包括課程的增加、刪除、修改等。 c. 選課管理:能夠列出指定學期、課程的選課學生名單,能夠對學生的選課進行調整。 d. 成績表管理:能夠錄入學生的成績,列出指定學期、課程的成績單。
詞法分析器的實現,1) 輸入:字符串(待進行詞法分析的源程序),輸出:由(種別碼,自身值)所組成的二元組序列。
2) 功能:
a. 濾空格
b. 識別保留字
c. 識別標識符
d. 拼數
e. 拼復合單詞: 例如: >=、 <=、 :=
3) 檢查如下錯誤:
a. 程序語言的字符集以外的非法字符
b. 單詞拼錯,如9A88,而對于將begin拼寫成begon的錯誤,只須把begon當成標識符即可