Skip to content

Commit 70c82f5

Browse files
committed
update format
1 parent f5ab925 commit 70c82f5

File tree

1 file changed

+85
-85
lines changed

1 file changed

+85
-85
lines changed

Diff for: src/dataStructure/linkedList/LinkedList.java

+85-85
Original file line numberDiff line numberDiff line change
@@ -2,174 +2,174 @@
22

33
import java.util.Scanner;
44

5-
class DATA{
6-
String key; // 结点的关键字
5+
class DATA {
6+
String key; // 结点的关键字
77
String name;
88
int age;
99
}
1010

1111
/*
12-
* 定义链表结构
13-
* Chain-type storage structure
12+
* 定义链表结构 Chain-type storage structure
1413
*/
15-
class CLType{
14+
class CLType {
1615
DATA nodeData = new DATA();
1716
CLType nextNode;
1817

19-
CLType CLAddEnd(CLType head, DATA nodeData){
20-
CLType node,htemp;
21-
if((node=new CLType())==null){
18+
CLType CLAddEnd(CLType head, DATA nodeData) {
19+
CLType node, htemp;
20+
if ((node = new CLType()) == null) {
2221
System.out.println("申请内存失败!\n");
2322
return null;
24-
}else{
25-
node.nodeData = nodeData; // 在新申请的结点中保存数据
26-
node.nextNode = null; // 设置结点引用为空,即为表尾
27-
if(head == null){ // 当head为空时,加入的新结点即为头引用
23+
} else {
24+
node.nodeData = nodeData; // 在新申请的结点中保存数据
25+
node.nextNode = null; // 设置结点引用为空,即为表尾
26+
if (head == null) { // 当head为空时,加入的新结点即为头引用
2827
head = node;
2928
return head;
3029
}
3130
htemp = head;
32-
while(htemp.nextNode != null){ // 查找链表的末尾
31+
while (htemp.nextNode != null) { // 查找链表的末尾
3332
htemp = htemp.nextNode;
3433
}
35-
htemp.nextNode = node; // 在链表的末尾插入该结点
36-
return head; // 返回指代整个链表的头引用
34+
htemp.nextNode = node; // 在链表的末尾插入该结点
35+
return head; // 返回指代整个链表的头引用
3736
}
3837
}
3938

40-
CLType CLAddFirst(CLType head, DATA nodeData){
39+
CLType CLAddFirst(CLType head, DATA nodeData) {
4140
CLType node;
42-
if((node = new CLType())==null){
41+
if ((node = new CLType()) == null) {
4342
System.out.println("申请内存失败!\n");
4443
return null;
45-
}else{
46-
node.nodeData = nodeData; // 保存数据
47-
node.nextNode = head; // 新加入的头结点的nextNode指向头引用所指的结点
48-
head = node; // 头引用指向新节点
44+
} else {
45+
node.nodeData = nodeData; // 保存数据
46+
node.nextNode = head; // 新加入的头结点的nextNode指向头引用所指的结点
47+
head = node; // 头引用指向新节点
4948
return head;
5049
}
5150
}
52-
53-
CLType CLFindNode(CLType head, String key){
51+
52+
CLType CLFindNode(CLType head, String key) {
5453
CLType htemp;
5554
htemp = head;
56-
while(htemp!=null){ // 循环遍历,寻找关键字匹配的结点
57-
if(htemp.nodeData.key.compareTo(key)==0){
55+
while (htemp != null) { // 循环遍历,寻找关键字匹配的结点
56+
if (htemp.nodeData.key.compareTo(key) == 0) {
5857
return htemp;
5958
}
6059
htemp = htemp.nextNode;
6160
}
6261
return null;
6362
}
64-
65-
CLType CLInsertNode(CLType head, String findKey, DATA nodeData){ // 插入关键字结点
63+
64+
CLType CLInsertNode(CLType head, String findKey, DATA nodeData) { // 插入关键字结点
6665
CLType node, nodetemp;
67-
if((node = new CLType())==null){
66+
if ((node = new CLType()) == null) {
6867
System.out.println("申请内存失败!\n");
6968
return null;
7069
}
7170
node.nodeData = nodeData;
72-
nodetemp = CLFindNode(head, findKey); // 获取插入位置关键字所指代的结点
73-
if(nodetemp == null){
71+
nodetemp = CLFindNode(head, findKey); // 获取插入位置关键字所指代的结点
72+
if (nodetemp == null) {
7473
System.out.println("未找到正确的插入位置!\n");
75-
}else{
76-
node.nextNode = nodetemp.nextNode; // 新插入的节点的nextNode指向关键字结点的下一结点
77-
nodetemp.nextNode = node; // 设置关键结点指向新插入结点
74+
} else {
75+
node.nextNode = nodetemp.nextNode; // 新插入的节点的nextNode指向关键字结点的下一结点
76+
nodetemp.nextNode = node; // 设置关键结点指向新插入结点
7877
}
7978
return head;
8079
}
81-
82-
int CLDeleteNode(CLType head, String key){ // 删除关键字结点
83-
CLType htemp,tempnode;
84-
if(head == null){
80+
81+
int CLDeleteNode(CLType head, String key) { // 删除关键字结点
82+
CLType htemp, tempnode;
83+
if (head == null) {
8584
return 0;
8685
}
8786
htemp = head;
8887
tempnode = head;
89-
while(htemp != null){
90-
if(htemp.nodeData.key.compareTo(key)==0){ // 遍历查找
91-
tempnode.nextNode = htemp.nextNode; // 当前结点的引用指向下一个结点的引用,以此删除htemp结点
88+
while (htemp != null) {
89+
if (htemp.nodeData.key.compareTo(key) == 0) { // 遍历查找
90+
tempnode.nextNode = htemp.nextNode; // 当前结点的引用指向下一个结点的引用,以此删除htemp结点
9291
return 1;
9392
}
94-
tempnode = htemp; // 保存当前结点
95-
htemp = htemp.nextNode; // 指向下一个结点
93+
tempnode = htemp; // 保存当前结点
94+
htemp = htemp.nextNode; // 指向下一个结点
9695
}
9796
return 0;
9897
}
99-
100-
int CLLength(CLType head){ //返回结点总数
98+
99+
int CLLength(CLType head) { // 返回结点总数
101100
CLType htemp;
102101
int len = 0;
103102
htemp = head;
104-
while(htemp!=null){ // 循环遍历累计总结点数
103+
while (htemp != null) { // 循环遍历累计总结点数
105104
len++;
106-
htemp=htemp.nextNode;
105+
htemp = htemp.nextNode;
107106
}
108107
return len;
109108
}
110-
111-
void CLAllNode(CLType head){ // 遍历链表输出所有数据
109+
110+
void CLAllNode(CLType head) { // 遍历链表输出所有数据
112111
CLType htemp;
113112
htemp = head;
114-
System.out.printf("\n当前链表共有%d个结点。链表所有数据如下:\n",CLLength(head));
115-
while(htemp != null){
116-
System.out.printf("结点(%s,%s,%d)\n",htemp.nodeData.key, htemp.nodeData.name, htemp.nodeData.age);
113+
System.out.printf("\n当前链表共有%d个结点。链表所有数据如下:\n", CLLength(head));
114+
while (htemp != null) {
115+
System.out.printf("结点(%s,%s,%d)\n", htemp.nodeData.key, htemp.nodeData.name, htemp.nodeData.age);
117116
htemp = htemp.nextNode;
118117
}
119118
}
120119
}
121120

122121
/**
123122
* 测试用例
123+
*
124124
* @author elon@elon33.com
125125
*
126126
*/
127127
public class LinkedList {
128128
public static void main(String[] args) {
129-
CLType node,head=null;
129+
CLType node, head = null;
130130
CLType CL = new CLType();
131-
String key,findkey;
131+
String key, findkey;
132132
Scanner input = new Scanner(System.in);
133133
System.out.println("链表测试:\n先输入链表中的数据,格式为:关键字 姓名 年龄 (键入0则结束)");
134-
do{
135-
DATA nodeData = new DATA(); // 构造新结点
134+
do {
135+
DATA nodeData = new DATA(); // 构造新结点
136136
nodeData.key = input.next();
137-
if(nodeData.key.equals("0")){
137+
if (nodeData.key.equals("0")) {
138138
break;
139-
}else{
139+
} else {
140140
nodeData.name = input.next();
141141
nodeData.age = input.nextInt();
142142
head = CL.CLAddEnd(head, nodeData);
143143
}
144-
}while(true);
145-
CL.CLAllNode(head); // 遍历所有结点
146-
144+
} while (true);
145+
CL.CLAllNode(head); // 遍历所有结点
146+
147147
System.out.printf("\n演示插入结点,输入插入位置的关键字:");
148148
findkey = input.next();
149149
System.out.printf("\n输入插入结点的数据(关键字 姓名 年龄)");
150-
DATA nodeData = new DATA(); // 构造新结点
151-
nodeData.key = input.next();
152-
nodeData.name = input.next();
153-
nodeData.age = input.nextInt();
154-
head = CL.CLInsertNode(head, findkey, nodeData);
155-
CL.CLAllNode(head);
156-
157-
System.out.printf("\n演示删除结点,输入要删除的关键字:");
158-
159-
key=input.next();
160-
int result = CL.CLDeleteNode(head, key);
161-
System.out.println(result==1?"删除结点成功":"删除结点失败");
162-
CL.CLAllNode(head);
163-
164-
System.out.printf("\n演示在链表中查找,输入查找关键字:");
165-
166-
key = input.next();
167-
node = CL.CLFindNode(head, key);
168-
if(node!=null){
169-
nodeData = node.nodeData;
170-
System.out.printf("关键字%s 对应的结点为(%s,%s,%d)\n",key,nodeData.key,nodeData.name,nodeData.age);
171-
}else{
172-
System.out.printf("在链表中未查找到关键字为%s的结点!\n",key);
173-
}
174-
}
150+
DATA nodeData = new DATA(); // 构造新结点
151+
nodeData.key = input.next();
152+
nodeData.name = input.next();
153+
nodeData.age = input.nextInt();
154+
head = CL.CLInsertNode(head, findkey, nodeData);
155+
CL.CLAllNode(head);
156+
157+
System.out.printf("\n演示删除结点,输入要删除的关键字:");
158+
159+
key = input.next();
160+
int result = CL.CLDeleteNode(head, key);
161+
System.out.println(result == 1 ? "删除结点成功" : "删除结点失败");
162+
CL.CLAllNode(head);
163+
164+
System.out.printf("\n演示在链表中查找,输入查找关键字:");
165+
166+
key = input.next();
167+
node = CL.CLFindNode(head, key);
168+
if (node != null) {
169+
nodeData = node.nodeData;
170+
System.out.printf("关键字%s 对应的结点为(%s,%s,%d)\n", key, nodeData.key, nodeData.name, nodeData.age);
171+
} else {
172+
System.out.printf("在链表中未查找到关键字为%s的结点!\n", key);
173+
}
174+
}
175175
}

0 commit comments

Comments
 (0)