資源簡介
書中源程序代碼.rar

代碼片段和文件信息
package?ch02;
/**
?*?
?*?帶頭結點的循環鏈表及其基本操作類
?*?
?*/
public?class?CirclelinkList?implements?IList?{
public?Node?head;//?循環單鏈表的頭指針
//?循環單鏈表的構造函數
public?CirclelinkList()?{
head?=?new?Node();?//?初始化頭結點
head.next=head;
}
//?將一個已經存在的帶頭結點的循環單鏈表置成空表
public?void?clear()?{
head.next=head;
}
//?判斷當前帶頭結點的循環單鏈表是否為空
public?boolean?isEmpty()?{
return?head.next.equals(head);
}
//?求帶頭結點的循環單鏈表中的數據元素個數并由函數返回其值
public?int?length()?{
Node?p?=?head.next;//?初始化p指向首結點length為計數器
int?length?=?0;
while?(!p.equals(head))?{//?從首結點向后查找,直到p指向頭結點
p?=?p.next;//?指向后繼結點
++length;//?長度增1
}
return?length;
}
//?讀取帶頭結點的循環單鏈表中的第i個數據元素
public?object?get(int?i)?throws?Exception?{
Node?p?=?head.next;//?初始化p指向首結點j為計數器
int?j?=?0;
while?(!p.equals(head)?&&?j? p?=?p.next;//?指向后繼結點
++j;//?計數器的值增1
}
if?(j?>?i?||?p.equals(head))?{?//?i小于0或者大于表長減1
throw?new?Exception(“第“?+?i?+?“個元素不存在“);//?輸出異常
}
return?p.data;//?返回元素p
}
//?在帶頭結點的循環單鏈表中第i個數據元素之前插入一個值為x的數據元素
public?void?insert(int?i?object?x)?throws?Exception?{
Node?p?=?head;//?初始化p為頭結點j為計數器
int?j?=?-1;?//?第i個結點前驅的位置
while?((!p.equals(head)?||?j?==?-1)?&&?j? p?=?p.next;
++j;//?計數器的值增1
}
if?(j?>?i?-?1?||?(p.equals(head)?&&?j?!=?-1))?//?i不合法
throw?new?Exception(“插入位置不合理“);//?輸出異常
Node?s?=?new?Node(x);?//?生成新結點
s.next=p.next;//?插入單鏈表中
p.next=s;
}
//?將循環單鏈表中第i個數據元素刪除。其中i取值范圍為:0≤i≤length()-?1如果i值不在此范圍則拋出異常
public?void?remove(int?i)?throws?Exception?{
Node?p?=?head;//?p指向要刪除結點的前驅結點
int?j?=?-1;
while?((!p.next.equals(head)?||?j?==?-1)?&&?j? p?=?p.next;
++j;//?計數器的值增1
}
if?(j?>?i?-?1?||?(p.next).equals(head))?{?//?i小于0或者大于表長減1
throw?new?Exception(“刪除位置不合理“);//?輸出異常
}
p.next=p.next.next;//?刪除結點
}
//?在帶頭結點的循環單鏈表中查找值為x的元素,如果找到,則函數返回該元素在線性表中的位置,否則返回-1
public?int?indexOf(object?x)?{
Node?p?=?head.next;//?初始化p指向首結點j為計數器
int?j?=?0;
while?(!p.equals(head)?&&?!p.data.equals(x))?{//?從單鏈表中的首結點元素開始查找,直到p.data指向元素x或到達單鏈表的表尾
p?=?p.next;//?指向下一個元素
++j;//?計數器的值增1
}
if?(!p.equals(head))//?如果p指向表中的某一元素
return?j;//?返回x元素在順序表中的位置
else
return?-1;//?x元素不在順序表中
}
//?輸出循環鏈表中的數據元素
public?void?display()?{
Node?node?=?head.next;//?取出帶頭結點的單鏈表中的首結點元素
while?(!node.equals(head))?{
System.out.print(node.data?+?“?“);//?輸出數據元素的值
node?=?node.next;//?取下一個結點
}
System.out.println();//?換行
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????3738??2014-09-04?18:54??書中源程序代碼\src\ch02\Circleli
?????文件???????2489??2011-06-24?14:35??書中源程序代碼\src\ch02\DebugCircleli
?????文件???????2689??2011-06-24?14:35??書中源程序代碼\src\ch02\DebugDuli
?????文件???????2622??2011-06-24?14:35??書中源程序代碼\src\ch02\Debugli
?????文件???????2496??2011-06-24?14:35??書中源程序代碼\src\ch02\Debugli
?????文件???????2716??2012-01-18?20:41??書中源程序代碼\src\ch02\DebugSqList.java
?????文件???????4301??2014-07-23?23:52??書中源程序代碼\src\ch02\Duli
?????文件????????435??2014-07-23?23:13??書中源程序代碼\src\ch02\DuLNode.java
?????文件???????1023??2011-06-24?14:35??書中源程序代碼\src\ch02\Example2_1.java
?????文件????????920??2011-06-24?14:35??書中源程序代碼\src\ch02\Example2_2.java
?????文件????????807??2011-06-24?14:35??書中源程序代碼\src\ch02\Example2_3.java
?????文件???????1581??2014-09-04?16:58??書中源程序代碼\src\ch02\Example2_4.java
?????文件???????2416??2014-09-04?17:00??書中源程序代碼\src\ch02\Example2_5.java
?????文件???????1300??2011-06-24?14:35??書中源程序代碼\src\ch02\IList.java
?????文件???????6259??2014-09-04?16:52??書中源程序代碼\src\ch02\li
?????文件???????4339??2014-09-04?16:57??書中源程序代碼\src\ch02\li
?????文件????????421??2014-07-23?18:02??書中源程序代碼\src\ch02\Node.java
?????文件???????2086??2014-09-04?17:09??書中源程序代碼\src\ch02\Polyn.java
?????文件???????4050??2014-09-04?17:01??書中源程序代碼\src\ch02\PolynList.java
?????文件????????303??2014-07-24?00:28??書中源程序代碼\src\ch02\PolynNode.java
?????文件???????3955??2014-08-06?05:22??書中源程序代碼\src\ch02\SqList.java
?????文件???????5774??2014-07-24?23:44??書中源程序代碼\src\ch02\StudentManagSystem.java
?????文件????????840??2014-08-06?05:27??書中源程序代碼\src\ch02\StudentNode.java
?????文件???????2818??2011-06-24?14:35??書中源程序代碼\src\ch02\SX1_SqList.java
?????文件???????1022??2011-06-24?14:35??書中源程序代碼\src\ch02Exercise\Exercise2_3_1.java
?????文件????????962??2011-06-24?14:35??書中源程序代碼\src\ch02Exercise\Exercise2_3_2.java
?????文件???????1000??2011-06-24?14:35??書中源程序代碼\src\ch02Exercise\Exercise2_3_3.java
?????文件???????1075??2011-06-24?14:35??書中源程序代碼\src\ch02Exercise\Exercise2_3_4.java
?????文件???????1225??2011-06-24?14:35??書中源程序代碼\src\ch02Exercise\Exercise2_3_5.java
?????文件???????1274??2011-06-24?14:35??書中源程序代碼\src\ch02Exercise\Exercise2_3_6.java
............此處省略166個文件信息
- 上一篇:基于LabVIEW的虛擬示波器的設計與實現
- 下一篇:用匯編語言做一個掃雷游戲
評論
共有 條評論