2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  數(shù)據結構課程設計報告</p><p>  班 級:____軟件121_____________</p><p>  姓 名:___________________</p><p>  指導教師:__________________</p><p>  成 績:________________________

2、__</p><p><b>  信息工程學院</b></p><p>  2014 年 1 月 9 日</p><p><b>  題目1 </b></p><p><b>  1.需求分析</b></p><p><b>  

3、簡單的員工管理系統(tǒng)</b></p><p>  每一個員工的信息包括:編號、姓名、性別、出生年月、學歷、職務、電話、住址等,系統(tǒng)的功能包括:</p><p> ?。?)查詢:按特定條件查找員工。</p><p>  (2)修改:按編號對某個員工的某項信息進行修改</p><p>  (3)排序:按特定條件對所有員工的信息進行排序&

4、lt;/p><p>  (4)插入:按編號刪除已離職的員工的信息。</p><p>  (5)刪除:按編號刪除已離職的員工信息。</p><p><b>  2.概要設計</b></p><p>  java.io.Serializable // 實現(xiàn)可比較和序列化接口</p><p>  publ

5、ic Friend(String name, String code)//構造方法</p><p>  public int compareTo(Friend f)//比較兩個對象大小,實現(xiàn)Comparable接口</p><p>  public Object[] toArray() //將對象的兩個成員變量保存在對象數(shù)組中</p><p>  public St

6、affManagementSystem(String filename) //構造圖形用戶界面</p><p>  public StaffManagementSystem()//員工管理系統(tǒng)</p><p>  private void readFromFile() //從指定文件中讀取已有對象</p><p>  private void getFamilyN

7、ame() //JList添加其中所有姓氏</p><p>  public void valueChanged(ListSelectionEvent e)//列表框的選擇事件處理方法</p><p>  public void actionPerformed(ActionEvent e) //單擊事件處理方法</p><p>  public void

8、 windowClosing(WindowEvent e)//關閉窗口事件處理方法</p><p><b>  詳細設計</b></p><p>  //Friend.java</p><p>  public class Friend implements java.lang.Comparable<Friend>, java.io

9、.Serializable // 實現(xiàn)可比較和序列化接口</p><p><b>  {</b></p><p>  private String name; //姓名</p><p>  private String code; //編號</p><p>  pu

10、blic Friend(String name, String code)//構造方法</p><p><b>  {</b></p><p>  this.name = name;</p><p>  this.code = code;</p><p><b>  }</b></p>

11、<p>  public String getName() //獲得姓名</p><p><b>  {</b></p><p>  return this.name;</p><p><b>  }</b></p><p>  public String getcode() /

12、/獲得電話號碼</p><p><b>  {</b></p><p>  return this.code;</p><p><b>  }</b></p><p>  public String toString() </p><p><b>  {</b

13、></p><p>  return "("+this.name+", "+this.code+")";</p><p><b>  }</b></p><p>  public int compareTo(Friend f)//比較兩個對象大小,實現(xiàn)Comparable接口&l

14、t;/p><p>  { //指定排序次序</p><p>  if (!this.name.equals(f.name)) </p><p>  return this.name.compareTo(f.name); //兩人以姓名為序</p><p><b>  else<

15、/b></p><p>  return this.code.compareTo(f.code); //同一人以電話號碼為序</p><p><b>  }</b></p><p>  public Object[] toArray() //將對象的兩個成員變量保存在對象數(shù)組中</p><p><b>

16、  {</b></p><p>  Object[] vars = new Object[2];</p><p>  vars[0] = this.name;</p><p>  vars[1] = this.code;</p><p>  return vars;</p><p><b>  }

17、</b></p><p><b>  }</b></p><p>  //StaffManagementSystem.java</p><p>  import java.util.*;</p><p>  import java.awt.*;</p><p>  import jav

18、a.awt.event.*;</p><p>  import javax.swing.*;</p><p>  import javax.swing.event.*;</p><p>  import javax.swing.table.*;</p><p>  import java.io.*;</p><p> 

19、 public class StaffManagementSystem extends JFrame implements ListSelectionListener, ActionListener, WindowListener</p><p><b>  {</b></p><p>  private String filename; //文件名<

20、/p><p>  private TreeSet<Friend> tbook; //使用一個樹集合存儲多個Friend對象</p><p>  private JList list; //列表框</p><p>  private DefaultListModel listModel; //默認列表框模型</

21、p><p>  private JTable table; //表格組件</p><p>  private DefaultTableModel tableModel; //默認表格模型</p><p>  private JComboBox combobox_name; //姓名組合框</p><

22、;p>  private DefaultComboBoxModel comboModel; //組合框模型,選擇姓氏</p><p>  private JTextField text_code; //編號文本行</p><p>  public StaffManagementSystem(String filename) //構造圖形用戶界面</p>&l

23、t;p><b>  {</b></p><p>  super("員工管理系統(tǒng)");</p><p>  this.setBounds(300,300,450,300);</p><p>  this.setDefaultCloseOperation(EXIT_ON_CLOSE);</p><p&g

24、t;  this.addWindowListener(this);//注冊窗口事件監(jiān)聽器</p><p>  JSplitPane split_h=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT); </p><p><b>  //水平分割窗格</b></p><p>  split_h.setDivid

25、erLocation(40); //設置垂直分隔條的位置</p><p>  this.getContentPane().add(split_h);</p><p>  //初始化一個容器,在容器上添加字符串組(無該語句則白屏)</p><p>  JSplitPane split_v=new JSplitPane(JSplitPane.VERTICAL_SPLIT

26、); </p><p><b>  //垂直分割窗格</b></p><p>  split_v.setDividerLocation(180); //設置水平分隔條的位置</p><p>  this.filename = filename;</p><p>  tbook = new TreeSet<Frie

27、nd>();</p><p>  this.readFromFile(); //從指定文件中讀取已有對象信息</p><p>  this.listModel = new DefaultListModel(); //默認列表框模型</p><p>  this.listModel.addElement("姓氏&quo

28、t;); </p><p>  this.list = new JList(listModel); //創(chuàng)建列表框</p><p>  this.list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); //設置單選模式,默認為多選</p><p>  this.list.addList

29、SelectionListener(this); //列表框注冊選擇事件監(jiān)聽器</p><p>  split_h.add(new JScrollPane(this.list)); //添加在滾動窗格中</p><p>  split_h.add(split_v);</p><p>  String[] columns={"姓名","

30、編號","性別","誕日","學歷","職務","電話","住址"}; //表格各列的中文標題</p><p>  this.tableModel=new DefaultTableModel(columns,0); </p><p>

31、;  //默認表格模型,指定列標題,0行</p><p>  this.table=new JTable(tableModel); //創(chuàng)建空表格,有列標題</p><p>  this.list.setSelectedIndex(0);//選中列表框第一項,執(zhí)行valueChanged()方法</p><p>  split_v.add(new JScrollP

32、ane(table));</p><p>  //以下面板包括組合框、文本行和添加、刪除、查找等按鈕</p><p>  JPanel friendpanel=new JPanel(new GridLayout(2,1)); </p><p>  //將下框的內容分成2行1列</p><p>  split_v.add(friendpanel

33、);</p><p>  JPanel panels[]={new JPanel(), new JPanel()};</p><p>  for (int i=0; i<panels.length; i++)</p><p>  friendpanel.add(panels[i]);</p><p>  panels[0].add(ne

34、w JLabel(columns[0]));</p><p>  this.comboModel = new DefaultComboBoxModel(); //默認組合框模型</p><p>  combobox_name = new JComboBox(this.comboModel); </p><p>  combobox_name.setEditable(

35、true);</p><p>  panels[0].add(combobox_name);</p><p>  panels[0].add(new JLabel(columns[1]));</p><p>  this.text_code = new JTextField("1", 12);//編號長度</p><p>

36、  panels[0].add(text_code);</p><p>  this.getFamilyName(); //列表框和組合框添加其中所有姓氏 </p><p>  String buttonstr[]={"添加","刪除","按編號查找"};</p><p>  JButton but

37、tons[] = new JButton[buttonstr.length];</p><p>  for (int i=0; i<buttons.length; i++)</p><p><b>  {</b></p><p>  buttons[i] = new JButton(buttonstr[i]);</p>&l

38、t;p>  panels[1].add(buttons[i]);</p><p>  buttons[i].addActionListener(this);</p><p><b>  }</b></p><p>  this.setVisible(true);</p><p><b>  }</b

39、></p><p>  public StaffManagementSystem()</p><p><b>  {</b></p><p>  this("friends.dat"); //指定默認文件名</p><p><b>  }</b></p>&

40、lt;p>  private void readFromFile() //從指定文件中讀取已有對象</p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p><p>  FileInputStrea

41、m fin=new FileInputStream(this.filename); //文件字節(jié)輸入流</p><p>  ObjectInputStream objin=new ObjectInputStream(fin);//對象字節(jié)輸入流</p><p>  while (true) //輸入流未結束時</p><p><

42、b>  try</b></p><p><b>  {</b></p><p>  tbook.add((Friend)objin.readObject()); //讀取一個對象添加到系統(tǒng)</p><p><b>  }</b></p><p>  catch (Exception

43、 e)//捕獲ClassNotFoundException和EOFException異常 </p><p><b>  {</b></p><p><b>  break;</b></p><p><b>  }</b></p><p>  objin.close();

44、//先關閉對象流</p><p>  fin.close(); //再關閉文件流</p><p><b>  }</b></p><p>  catch (IOException ioe){} //指定文件不存在時,表格為空</p><p><b>  }</b></p>&l

45、t;p>  private void getFamilyName() //JList添加其中所有姓氏</p><p><b>  {</b></p><p>  if (!tbook.isEmpty())</p><p><b>  {</b></p><p>  Iterator it=

46、tbook.iterator(); //返回一個迭代器對象</p><p>  while (it.hasNext()) //若有后繼元素,使用迭代器遍歷集合</p><p><b>  {</b></p><p>  Friend f=(Friend)it.next(); //返回后繼元素</p><p&

47、gt;  String familyname=f.getName().charAt(0)+"";//獲得姓氏</p><p>  if (!this.listModel.contains(familyname))</p><p><b>  {</b></p><p>  this.listModel.addElement(

48、familyname); //列表框模型添加不重復數(shù)據項</p><p>  this.comboModel.addElement(familyname); //組合框模型添加不重復數(shù)據項</p><p><b>  }</b></p><p><b>  }</b></p><p><b&g

49、t;  }</b></p><p><b>  } </b></p><p>  public void valueChanged(ListSelectionEvent e)//列表框的選擇事件處理方法</p><p><b>  {</b></p><p>  String famil

50、yname=(String)list.getSelectedValue();</p><p>  //返回列表框選中數(shù)據項對象</p><p>  if (!tbook.isEmpty() && familyname!=null && familyname!="")</p><p>  //以選中姓氏更新表格<

51、;/p><p><b>  {</b></p><p>  for (int i=this.tableModel.getRowCount()-1; i>=0; i--)//清空表格</p><p>  this.tableModel.removeRow(i); </p><p>  Itera

52、tor it = tbook.iterator();</p><p>  while (it.hasNext()) //在系統(tǒng)中查找指定姓氏</p><p><b>  {</b></p><p>  Friend f = (Friend)it.next();</p><p>  if (familyname==&qu

53、ot;姓氏" || f.getName().charAt(0)==familyname.charAt(0))</p><p>  this.tableModel.addRow(f.toArray()); //表格添加一行,參數(shù)數(shù)組指定各列值</p><p><b>  }</b></p><p><b>  }</

54、b></p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e) //單擊事件處理方法</p><p><b>  {</b></p><p>  if (e.getActionCommand().e

55、quals("添加")) //單擊添加按鈕</p><p><b>  {</b></p><p>  String name=(String)combobox_name.getSelectedItem();</p><p>  String code=text_code.getText();</p><

56、;p>  Friend f = new Friend(name, code);</p><p>  if (!name.equals("") && !tbook.contains(f)) </p><p>  //不能插入姓名空串和重復對象</p><p><b>  {</b></p>

57、<p>  tbook.add(f);//添加對象,TreeSet不插入重復元素,沒提示也不拋出異常</p><p>  String familyname = name.charAt(0)+"";//返回姓名的第一個字符</p><p>  if (list.getSelectedValue().equals(familyname))</p>

58、<p>  tableModel.addRow(f.toArray()); </p><p><b>  else</b></p><p><b>  {</b></p><p>  if (!listModel.contains(familyname)) //列表框中添加不重復元素</p&

59、gt;<p><b>  {</b></p><p>  listModel.addElement(familyname);</p><p>  comboModel.addElement(familyname);</p><p><b>  }</b></p><p>  list.

60、setSelectedValue(familyname,true);//設置列表框選中項</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p>  JOptionPane.showMessa

61、geDialog(this, "不能添加姓名空串或重復對象"+f.toString());</p><p><b>  }</b></p><p>  if (e.getActionCommand().equals("刪除"))</p><p><b>  {</b></p&g

62、t;<p>  if (tbook.isEmpty())</p><p>  JOptionPane.showMessageDialog(this, "表格空,不能刪除數(shù)據項。");</p><p><b>  else</b></p><p><b>  {</b></p>

63、<p>  int i = table.getSelectedRow(); //表格當前選中行號</p><p>  if (i==-1)</p><p>  JOptionPane.showMessageDialog(this, "請選擇數(shù)據項。");</p><p><b>  else</b></

64、p><p><b>  {</b></p><p>  String name=(String)table.getValueAt(i,0);</p><p>  int yes=JOptionPane.showConfirmDialog(null, "刪除\""+name+"\"行?");

65、</p><p>  //確認對話框包括Yes和No按鈕</p><p>  if (yes==0) //單擊確認對話框的Yes按鈕</p><p><b>  {</b></p><p>  String code=(String)table.getValueAt(i,1);</p><p>

66、  tbook.remove(new Friend(name, code)); //刪除對象</p><p>  tableModel.removeRow(i);//表格中刪除一行</p><p>  listModel.removeElement(name.charAt(0)+"");//列表框中刪除指定姓氏 </p><p>  comboM

67、odel.removeElement(name.charAt(0)+"");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b>

68、</p><p>  if (!tbook.isEmpty() && e.getActionCommand().equals("按編號查找"))</p><p>  { //查找編號,結果顯示在表格中</p><p>  Friend find = null;</p><

69、p>  Iterator it = tbook.iterator();</p><p>  while (find==null && it.hasNext())</p><p><b>  {</b></p><p>  Friend f = (Friend)it.next();</p><p> 

70、 if (f.getcode().equals(text_code.getText()))//比較編號字符串</p><p><b>  find = f;</b></p><p><b>  }</b></p><p>  if (find!=null) //若查找成功</p><p>

71、;<b>  {</b></p><p>  for (int i=tableModel.getRowCount()-1; i>=0; i--) //清空表格</p><p>  this.tableModel.removeRow(i); </p><p>  this.tableModel.addR

72、ow(find.toArray()); </p><p><b>  }</b></p><p>  else JOptionPane.showMessageDialog(this, "未查找到滿足條件的數(shù)據!");</p><p><b>  }</b></p><p>&l

73、t;b>  }</b></p><p>  public void windowClosing(WindowEvent e)//關閉窗口事件處理方法</p><p><b>  {</b></p><p>  try //將其中所有對象寫入指定文件</p><p>  

74、{ //指定文件不存在時,表格為空創(chuàng)建新文件</p><p>  FileOutputStream fout=new FileOutputStream(this.filename); </p><p><b>  //文件字節(jié)輸出流</b></p><p>  ObjectOutputStream objout=new Objec

75、tOutputStream(fout); </p><p><b>  //對象字節(jié)輸出流</b></p><p>  if (!tbook.isEmpty())</p><p><b>  {</b></p><p>  Iterator it = tbook.iterator();</p

76、><p>  while (it.hasNext())</p><p>  objout.writeObject((Friend)it.next()); //寫入一個對象</p><p><b>  }</b></p><p>  objout.close();</p><p>  fout.clo

77、se();</p><p><b>  }</b></p><p>  catch (IOException ioe){}</p><p><b>  }</b></p><p>  public void windowOpened(WindowEvent e) {}</p><

78、p>  public void windowActivated(WindowEvent e) {}</p><p>  public void windowDeactivated(WindowEvent e) {}</p><p>  public void windowClosed(WindowEvent e) {}</p><p>  public voi

79、d windowIconified(WindowEvent e) {}</p><p>  public void windowDeiconified(WindowEvent e) {}</p><p>  public static void main(String args[])</p><p><b>  {</b></p>

80、<p>  new StaffManagementSystem(); //默認文件名為"frindes.dat"</p><p><b>  } </b></p><p><b>  } </b></p><p><b>  4.調試分析</b><

81、/p><p>  (1)調試過程中問題:主要是一些框架結構的定義以及一些語法上的應用,通過查找API可以詳細知道其意思,并應用到程序中。</p><p><b>  (2)需要的改進:</b></p><p>  A、實現(xiàn)檢查電話號碼的位數(shù)。</p><p>  B、增加員工管理系統(tǒng)的修改功能。</p><

82、;p>  C、雙擊表格一列,能夠修改,響應事件保存修改內容。</p><p> ?。?)經驗和體會:這次編寫的代碼主要是修改別人的代碼,在這個過程中雖然沒有完全做到自己編寫,但是也認真看了,說實話很多都不怎么懂,感覺好多要記憶的東西,比如一些框架的定義,操作動作的語法定義。經過這幾天的練習,表示在編程方面還是要花上很多心思和時間的。</p><p><b>  5.測試結果

83、</b></p><p><b>  題目2</b></p><p><b>  1.需求分析</b></p><p><b>  求圖的最短路徑問題</b></p><p><b>  概要設計</b></p><p>

84、;  typedef struct{ }MGraph; //定義鄰接矩陣結構體</p><p>  void ShortestPath_DIJ(MGraph G,int v0,PathMatrix &P,ShortPathTable &D) //說明最短路徑結構</p><p>  int LocateVex(MGraph G,char u) //定位鄰接矩陣各個頂點是否有

85、誤</p><p>  void CreateMGraph(MGraph &G) //建立鄰接矩陣</p><p><b>  3.詳細設計</b></p><p>  #include <stdio.h> </p><p>  #include <stdlib.h> </p>

86、<p>  #define INT_MAX 2147483647 </p><p>  #define INFINITY INT_MAX </p><p>  #define FALSE 0 </p><p>  #define TRUE 1</p><p>  #define NumVertices 6 //圖中最大頂點個數(shù)

87、</p><p>  typedef int PathMatrix[NumVertices][NumVertices]; //最短路徑數(shù)組 </p><p>  typedef int ShortPathTable[NumVertices]; //最短路徑長度 </p><p>  typedef int AdjMatrix[NumVertices][NumVert

88、ices]; </p><p>  typedef char VertexType; </p><p>  typedef struct{ </p><p>  VertexType vexs[NumVertices]; </p><p>  AdjMatrix arcs; //鄰接矩陣 </p><p>  int

89、vexnum,arcnum; </p><p><b>  }MGraph; </b></p><p>  int LocateVex(MGraph G,char u); </p><p>  void CreateMGraph(MGraph &G); </p><p>  void ShortestPath_D

90、IJ(MGraph G,int v0,PathMatrix &P,ShortPathTable &D); </p><p>  int main() </p><p><b>  { </b></p><p><b>  int v0;</b></p><p><b> 

91、 char u;</b></p><p>  MGraph G; </p><p>  PathMatrix P; </p><p>  ShortPathTable D; </p><p>  printf("最短路徑!\n"); </p><p>  CreateMGraph(G);

92、 </p><p>  printf("Input Source :"); </p><p>  fflush(stdin); </p><p>  scanf("%c",&u);</p><p>  v0=LocateVex(G,u);</p><p>  Shorte

93、stPath_DIJ(G,v0,P,D);</p><p><b>  return 0;</b></p><p><b>  } </b></p><p>  void ShortestPath_DIJ(MGraph G,int v0,PathMatrix &P,ShortPathTable &D) &l

94、t;/p><p><b>  { </b></p><p>  int final[NumVertices]; </p><p><b>  int w,v; </b></p><p><b>  //step1 </b></p><p>  for (v=

95、0;v<G.vexnum;++v) </p><p><b>  { </b></p><p>  final[v]=FALSE; //final[v]為FALSE即未求得v0到V的最短路徑 </p><p>  D[v]=G.arcs[v0][v]; //D[v]為帶權長度 </p><p>  for ( w=

96、0;w<G.vexnum;++w) </p><p>  P[v][w]=FALSE; //若P[v][w]為FALSE,則w不是從v0到v當前求的最短路徑上的頂點 </p><p>  if (D[v]<INFINITY) //D[v]為帶權長度</p><p><b>  { </b></p><p> 

97、 P[v][v0]=TRUE; </p><p>  P[v][v]=TRUE; </p><p><b>  } </b></p><p><b>  } </b></p><p>  for (int i=1;i<G.vexnum;++i)//step4 </p><p

98、>  { //step2 </p><p>  int min = INFINITY; </p><p>  for (w=0;w<G.vexnum ;++w) </p><p>  if (!final[w]) //!final[w] 表示V-S </p><p>  if (D[w]<min) </p>&

99、lt;p><b>  {</b></p><p><b>  v=w;</b></p><p><b>  min=D[w];</b></p><p><b>  } </b></p><p>  final[v]=TRUE; //final[v]為

100、TRUE當且僅當V∈V-S,即已經求得v0到V的最短路徑 </p><p><b>  //step3 </b></p><p>  for (w=0;w<G.vexnum;++w) </p><p>  if(G.arcs[v][w]!=INFINITY)</p><p>  if (!final[w]&

101、&(min+G.arcs[v][w]<D[w])) </p><p><b>  { </b></p><p>  D[w]=min+G.arcs[v][w]; </p><p>  for (int j=0;j<G.vexnum;++j) </p><p>  P[w][j]=P[v][j]; &l

102、t;/p><p>  P[w][w]=TRUE; </p><p><b>  } </b></p><p><b>  } </b></p><p>  printf("------------------------------------------------------\n&q

103、uot;);</p><p>  printf(" 始點 終點 路徑長度 \n");</p><p>  printf("------------------------------------------------------\n");</p><p>  printf("

104、 %c ",G.vexs[v0]); </p><p>  for(w=0;w<G.vexnum;++w)</p><p><b>  {</b></p><p><b>  if(w!=0)</b></p><p>  printf(" ");<

105、/p><p><b>  if(w==v0)</b></p><p>  printf(" %c \n",G.vexs[w]); </p><p><b>  else</b></p><p>  if(D[w]==INFINITY)<

106、;/p><p><b>  {</b></p><p>  printf(" %c ",G.vexs[w]); </p><p>  printf("無\n"); </p><p><b>  }</b></p>

107、<p><b>  else</b></p><p>  printf(" %c %d\n",G.vexs[w],D[w]); </p><p><b>  }</b></p><p>  printf("-----------------

108、-------------------------------------\n");</p><p><b>  } </b></p><p>  int LocateVex(MGraph G,char u) </p><p><b>  { </b></p><p><b> 

109、 int i; </b></p><p>  for (i=0;i<G.vexnum;i++) </p><p>  if (u == G.vexs[i]) </p><p>  return i; </p><p>  if (i == G.vexnum) </p><p><b>  {

110、 </b></p><p>  printf("Error u!\n"); </p><p><b>  exit(1); </b></p><p><b>  } </b></p><p>  return 0; </p><p><b

111、>  } </b></p><p>  void CreateMGraph(MGraph &G) //建立鄰接矩陣 </p><p><b>  { </b></p><p>  int i,j,k,w; </p><p>  char v1,v2; </p><p> 

112、 G.vexnum=6;</p><p>  G.arcnum=10;</p><p>  for (i=0;i<G.vexnum;i++) </p><p>  G.vexs[i]='0'+i;</p><p>  for (i=0;i<G.vexnum;i++) </p><p>  f

113、or (j=0;j<G.vexnum;j++) </p><p>  G.arcs[i][j]=INFINITY;</p><p>  G.arcs[0][2]=10;</p><p>  G.arcs[0][4]=30;</p><p>  G.arcs[0][5]=100;</p><p>  G.arcs[

114、1][2]=5;</p><p>  G.arcs[2][3]=50;</p><p>  G.arcs[3][5]=10;</p><p>  G.arcs[4][3]=20;</p><p>  G.arcs[4][5]=60;</p><p>  for (i=0;i<G.vexnum;i++) </

115、p><p>  for(j=0;j<G.vexnum;j++)</p><p><b>  {</b></p><p>  if(G.arcs[i][j]!=INFINITY)</p><p>  printf("%4d",G.arcs[i][j]);</p><p><

116、;b>  else</b></p><p>  printf("%4d",0);</p><p>  if(j%G.vexnum==G.vexnum-1)</p><p>  printf("\n");</p><p><b>  }</b></p>

117、<p><b>  return; </b></p><p><b>  }</b></p><p><b>  調試分析</b></p><p><b>  調試過程中問題:</b></p><p>  不會就百度看看別人怎么解釋的,<

118、/p><p><b>  需要的改進:</b></p><p>  A、實現(xiàn)復雜的圖的最短路徑,不僅僅限于自己編寫出的鄰接矩陣表</p><p>  B、實現(xiàn)從鍵盤輸入各個邊的起點終點及權值</p><p>  經驗和體會:多去編寫程序,熟悉一些語句的語法結構及如何應用,而不是僅僅限于從顯示器表達題目意思</p>

119、<p><b>  測試結果</b></p><p><b>  6.參考文獻</b></p><p>  (1).Java程序設計常用教程</p><p>  (2).數(shù)據結構(C語言版)</p><p><b>  (3).C程序設計</b></p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論