1 Star 0 Fork 0

CS-IMIS-23/20172314

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
LinkedList333.java 4.48 KB
一键复制 编辑 原始数据 按行查看 历史
package 新第四周;
public class LinkedList333<T>implements LinkedListADT3<T> {
public LinearNode<T> head;
public int nFangYiWen;
public LinkedList333() {
head = null;
nFangYiWen = 0;
}
@Override
//打印链表
public String Print() {
String result = "";
LinearNode<T> temp = head;
while (temp != null) {
result += temp.getElement() + " ";
temp = temp.next;
}
return result;
}
@Override
//链表长度
public int size() {
return nFangYiWen;
}
@Override
//指定位置插入
public void Insert(int where, T m) {
LinearNode<T> node = new LinearNode(m);
LinearNode<T> temp1, temp2;
if (where <= nFangYiWen + 1) {
if (where == 1) {
node.next = head;
head = node;
} else {
temp1 = head;
temp2 = head.next;
for (int a = 1; a < where - 1; a++) {
temp1 = temp1.next;
temp2 = temp2.next;
}
if (temp2 != null) {
node.next = temp2;
temp1.next = node;
} else if (temp2 == null) {
temp1.next = node;
}
}
nFangYiWen++;
}
}
@Override
public void add(T t) {
LinearNode<T> node = new LinearNode(t);
LinearNode<T> temp;
if (head == null) {
head = node;
} else {
temp = head;
while (temp.next != null) {
temp = temp.next;
}
temp.next = node;
}
nFangYiWen++;
}
@Override
//删除指定位置元素
public void Delete(int where, T num) {
LinearNode node = new LinearNode(num);
LinearNode temp1, temp2;
//头删除
if ((where == 1) && (head.element.equals(num))) {
head = head.next;
} else {
if (where <= nFangYiWen + 1) {
temp1 = head;
temp2 = head.next;
for (int a = 1; a < where - 1; a++) {
temp1 = temp1.next;
temp2 = temp2.next;
}
//中间删
if (temp2.element.equals(node.element)) {
if (temp2.next != null) {
temp1.next = temp2.next;
}
//尾删
else {
temp1.next = null;
}
} else {
System.out.println("删除错误");
}
} else {
System.out.println("删除错误");
}
}
nFangYiWen--;
}
// @Override
// //冒泡排序
// public String Sort() {
// String[] z = this.Print().split("\\s");
// int[] xxx = new int[z.length];
// for (int a = 0; a < z.length; a++) {
// xxx[a] = Integer.parseInt(z[a]);
// }
// String result = "";
// for (int i = 0; i < xxx.length - 1; i++) {
// //遍历次数
// for (int j = 0; j < xxx.length - 1 - i; j++) {
// //每次遍历的排序
// if (xxx[j] > xxx[j + 1]) {
// int temp = xxx[j];
// xxx[j] = xxx[j + 1];
// xxx[j + 1] = temp;
// }
// }
// String every = "";
// for (int a = 0; a < xxx.length; a++) {
// every += xxx[a] + " ";
// }
// result += "元素的总数为:" + xxx.length + "\n" + "链表元素为:" + every + "\n";
// }
// return result;
// }
public String SelectSort() {
String result = "";
String[] strings = this.Print().split(" ");
int[] a = new int[nFangYiWen];
for (int i = 0; i < a.length - 1; i++) {
int y = Integer.parseInt(strings[i]);
a[i] = y;
}
for (int i = 0; i < a.length - 1; i++) {
for (int j = i + 1; j < a.length; j++) {
if (a[i] < a[j]) {
int min = a[i];
a[i] = a[j];
a[j] = min;
}
}
String all = "";
for (int s = 0; s < a.length; s++) {
all += a[s] + " ";
}
result += "元素总数为:" + a.length + "\n"+ "链表元素为:" + all + "\n";
}
return result;
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/CS-IMIS-23/20172314.git
git@gitee.com:CS-IMIS-23/20172314.git
CS-IMIS-23
20172314
20172314
master

搜索帮助