|
发表于 2024-3-8 12:18:37
From FishC Mobile
|
显示全部楼层
|阅读模式
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
class LinkNode {
int val;
LinkNode next;
LinkNode(int x) {
val = x;
next = null;
}
}
public class SingleLinkList{
LinkNode head;
int length;
public static void main(String[] args) {
SingleLinkList list = new SingleLinkList();
list.LinkListInit();
for(int i = 1; i <= 11; i++) {
list.LinkListInsert(i, new LinkNode(i));
}
list.LinkListDelete(1);
list.LinkListDelete(10);
for(int i = 0; i <= list.LinkListLength() - 1; i++) {
System.out.println(list.LinkListElem(i + 1));
}
}
public SingleLinkList LinkListUnion(SingleLinkList a, SingleLinkList b) {
// code here
return null;
}
// 姹傞摼琛ㄧ殑闀垮害
public int LinkListLength() {
return this.length;
}
// 鍒濆鍖栭摼琛
public void LinkListInit() {
this.head = new LinkNode(-1);
this.length = 0;
}
// 閾捐〃閿姣
public void LinkListDestory() {
this.head = null;
}
// 閾捐〃鏄惁涓虹┖
public boolean LinkListIsNotEmpty() {
return this.head.next == null;
}
// 閾捐〃娓呯┖锛屼繚鐣檋ead
public void LinkListClear() {
this.head.next = null;
}
// 鑾峰彇鏌愪釜index鐨勫
public int LinkListElem(int index) {
if (index < 0 || index > this.length + 1) {
return -1;
}
int count = 0;
LinkNode p = this.head;
while (count < index){
p = p.next;
count++;
}
return p.val;
}
// 鏌ヨ鏌愪釜鍏冪礌鐨勪綅缃
public int LinkListLocate(LinkNode element) {
int count = 0;
LinkNode p = this.head.next;
while (p != null) {
if (p.val == element.val) {
return count;
} else {
p = p.next;
count++;
}
}
return -1;
}
// 鏌ヨ鏌愪釜鍏冪礌鏄惁鏈夊墠椹辫妭鐐
public boolean LinkListGetPre(LinkNode element) {
int count = 0;
LinkNode p = this.head.next;
LinkNode pre = null;
while (count < this.length + 1) {
if (p.val == element.val) {
if (pre == null) {
return false;
} else {
return true;
}
} else {
pre = p;
p = p.next;
count++;
}
}
return false;
}
// 鏌ヨ鏌愪釜鍏冪礌鏄惁鏈夊悗缁ц妭鐐
public boolean LinkListGetNext(LinkNode element) {
int count = 0;
LinkNode p = this.head.next;
while (count < this.length + 1) {
if (p.val == element.val) {
if (p.next == null) {
return false;
} else {
return true;
}
} else {
p = p.next;
count++;
}
}
return false;
}
// 鎻掑叆鍏冪礌
public boolean LinkListInsert(int index, LinkNode element) {
if (index < 0 || index > this.length + 1) {
return false;
}
int count = 0;
LinkNode p = this.head;
while (count < index - 1) {
p = p.next;
count++;
}
element.next = p.next;
p.next = element;
this.length++;
return true;
}
// 鍒犻櫎鍏冪礌
public boolean LinkListDelete(int index) {
if (index < 0 || index > this.length + 1) {
return false;
}
int count = 0;
LinkNode p = this.head;
while (count < index - 1) {
p = p.next;
count++;
}
p.next = p.next.next;
this.length--;
return true;
}
}
题目一:
将两个递增的有序链表A、B合并成一个新的递增的有序链表C,要求新表中不能有重复的数据,要求链表仍使用原来的两个链表的空间,不另外使用其它的存储空间。函数声明:void LinkListUnion();将代码补充后进行调试
题目二:
将两个递增的有序表A、B合并成一个新的递增的有序顺序表C,要求新表中不能有重复的数据。函数声明:void SeqListUnion();将代码补充后进行调试。
|
|