Skip to content

Commit 82a6c04

Browse files
committed
update
1 parent 387e48d commit 82a6c04

File tree

4 files changed

+42
-42
lines changed

4 files changed

+42
-42
lines changed

src/dataStructure/linkedList/README.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
准备在 链表操作中需要用到的变量及类。
1717
```java
1818
class DATA{
19-
String key; // 结点的关键字
19+
String key; // 结点的关键字
2020
String name;
2121
int age;
2222
}
@@ -44,18 +44,18 @@ CLType CLAddEnd(CLType head, DATA nodeData){
4444
System.out.println("申请内存失败!\n");
4545
return null;
4646
}else{
47-
node.nodeData = nodeData; // 在新申请的结点中保存数据
48-
node.nextNode = null; // 设置结点引用为空,即为表尾
49-
if(head == null){ // 当head为空时,加入的新结点即为头引用
47+
node.nodeData = nodeData; // 在新申请的结点中保存数据
48+
node.nextNode = null; // 设置结点引用为空,即为表尾
49+
if(head == null){ // 当head为空时,加入的新结点即为头引用
5050
head = node;
5151
return head;
5252
}
5353
htemp = head;
54-
while(htemp.nextNode != null){ // 查找链表的末尾
54+
while(htemp.nextNode != null){ // 查找链表的末尾
5555
htemp = htemp.nextNode;
5656
}
57-
htemp.nextNode = node; // 在链表的末尾插入该结点
58-
return head; // 返回指代整个链表的头引用
57+
htemp.nextNode = node; // 在链表的末尾插入该结点
58+
return head; // 返回指代整个链表的头引用
5959
}
6060
}
6161
```
@@ -73,9 +73,9 @@ CLType CLAddFirst(CLType head, DATA nodeData){
7373
System.out.println("申请内存失败!\n");
7474
return null;
7575
}else{
76-
node.nodeData = nodeData; // 保存数据
77-
node.nextNode = head; // 新加入的头结点的nextNode指向头引用所指的结点
78-
head = node; // 头引用指向新节点
76+
node.nodeData = nodeData; // 保存数据
77+
node.nextNode = head; // 新加入的头结点的nextNode指向头引用所指的结点
78+
head = node; // 头引用指向新节点
7979
return head;
8080
}
8181
}
@@ -86,7 +86,7 @@ CLType CLAddFirst(CLType head, DATA nodeData){
8686
CLType CLFindNode(CLType head, String key){
8787
CLType htemp;
8888
htemp = head;
89-
while(htemp!=null){ // 循环遍历,寻找关键字匹配的结点
89+
while(htemp!=null){ // 循环遍历,寻找关键字匹配的结点
9090
if(htemp.nodeData.key.compareTo(key)==0){
9191
return htemp;
9292
}
@@ -137,8 +137,8 @@ int CLDeleteNode(CLType head, String key){ // 删除关键字结点
137137
tempnode.nextNode = htemp.nextNode; // 当前结点的引用指向下一个结点的引用,以此删除htemp结点
138138
return 1;
139139
}
140-
tempnode = htemp; // 保存当前结点
141-
htemp = htemp.nextNode; // 指向下一个结点
140+
tempnode = htemp; // 保存当前结点
141+
htemp = htemp.nextNode; // 指向下一个结点
142142
}
143143
return 0;
144144
}

src/dataStructure/orderList/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ int SLInsert(SLType SL, int n, DATA data){ // 插入结点到顺序表中间
5151
return 0;
5252
}
5353

54-
for(int i=SL.ListLen;i>=n;i--){ // 将插入位置n后续的结点都向后移动一位
54+
for(int i=SL.ListLen;i>=n;i--){ // 将插入位置n后续的结点都向后移动一位
5555
SL.ListData[i+1]=SL.ListData[i];
5656
}
5757
SL.ListData[n]=data; // 插入结点
@@ -62,7 +62,7 @@ int SLInsert(SLType SL, int n, DATA data){ // 插入结点到顺序表中间
6262
## 追加结点
6363
追加结点并不是一个基本的数据结构运算,其可以看作插入结点的一种特殊形式,相当于在顺序表的末尾新增一个数据结点。由于追加结点的特殊性,其代码实现比插入结点要简单,因为不必进行大量数据的移动。
6464
```java
65-
int SLAdd(SLType SL, DATA data){ // 增加元素到顺序表尾部
65+
int SLAdd(SLType SL, DATA data){ // 增加元素到顺序表尾部
6666
if(SL.ListLen>=MAXLEN){ // 顺序表已满
6767
System.out.println("顺序表已满,不能再添加结点!\n");
6868
return 0;
@@ -74,14 +74,14 @@ int SLAdd(SLType SL, DATA data){ // 增加元素到顺序表尾部
7474
## 删除结点
7575
删除结点即删除线性表L中的第i个结点,使得其后的所有结点编号依次减1。删除一个结点之后,线性表L的长度将变为n-1。删除结点和插入结点类似,都需要进行大量数据的移动。
7676
```java
77-
int SLDelete(SLType SL, int n){ // 按位删除顺序表的结点
77+
int SLDelete(SLType SL, int n){ // 按位删除顺序表的结点
7878

79-
if(n<1 || n>SL.ListLen+1){ // 删除结点序号不正确
79+
if(n<1 || n>SL.ListLen+1){ // 删除结点序号不正确
8080
System.out.println("删除结点序号错误,不能删除结点!\n");
8181
return 0;
8282
}
8383

84-
for(int i=n;i<SL.ListLen;i++){ // 将插入位置n后续的结点都向前移动一位
84+
for(int i=n;i<SL.ListLen;i++){ // 将插入位置n后续的结点都向前移动一位
8585
SL.ListData[i]=SL.ListData[i+1];
8686
}
8787
SL.ListLen--;

src/dataStructure/queue/README.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ class DATA{
1313
class SQType{
1414
static final int QUEUELEN = 15;
1515
DATA[] data = new DATA[QUEUELEN]; // 队列顺序结构数组
16-
int head; // 队头
17-
int tail; // 队尾
16+
int head; // 队头
17+
int tail; // 队尾
1818
}
1919
```
2020
在上述代码中,定义了队列结构的最大长度QUEUELEN,队列结构数据元素的类DATA及队列结构的类SQType。在类SQType中,data为数据元素,head为队头的序号,tail为队尾的序号。当head=0时表示队列为空,当tail=QUEUELEN时表示队列已满。
@@ -24,7 +24,7 @@ class SQType{
2424
1. 按符号常量QUEUELEN指定的大小申请一片内存空间,用来保存队列中的数据。
2525
2. 设置head=0和tail=0,表示一个空栈。
2626
```java
27-
SQType SQTypeInit(){ // 队列初始化
27+
SQType SQTypeInit(){ // 队列初始化
2828
SQType q;
2929
if((q=new SQType())!=null){ // 申请内存
3030
q.head = 0;
@@ -40,7 +40,7 @@ SQType SQTypeInit(){ // 队列初始化
4040
## 判断空队列
4141
判断空队列即判断一个队列结构是否为空。如果是空队列,则表示该队列结构中没有数据。此时可以进行入队列,但不可以进行出队列。
4242
```java
43-
int SQTypeIsEmpty(SQType q){ // 判断队列空
43+
int SQTypeIsEmpty(SQType q){ // 判断队列空
4444
int temp = 0;
4545
if(q.head == q.tail)
4646
temp = 1;
@@ -51,7 +51,7 @@ int SQTypeIsEmpty(SQType q){ // 判断队列空
5151
## 判断满队列
5252
判断满队列即判断一个队列结构是否为满。如果是满队列,则表示该队列结构中没有多余的空间来保存额外数据。此时不可以进行入队列操作,但是可以进行出队列操作。
5353
```java
54-
int SQTypeIsFull(SQType q){ // 判断队列满
54+
int SQTypeIsFull(SQType q){ // 判断队列满
5555
int temp = 0;
5656
if(q.tail==QUEUELEN){
5757
temp=1;
@@ -61,14 +61,14 @@ int SQTypeIsFull(SQType q){ // 判断队列满
6161
```
6262
## 清空队列
6363
```java
64-
void SQTypeClear(SQType q){ // 清空队列
64+
void SQTypeClear(SQType q){ // 清空队列
6565
q.head = 0;
6666
q.tail = 0;
6767
}
6868
```
6969
## 释放空间
7070
```java
71-
void SQTypeFree(SQType q){ // 释放队列
71+
void SQTypeFree(SQType q){ // 释放队列
7272
if(q != null){
7373
q = null;
7474
}
@@ -85,7 +85,7 @@ int InSQType(SQType q, DATA data){ // 入队列
8585
System.out.println("队列已满! 操作失败!\n");
8686
return 0;
8787
}
88-
q.data[q.tail++] = data; // 顺序入队列,并将队尾指针+1
88+
q.data[q.tail++] = data; // 顺序入队列,并将队尾指针+1
8989
return 1;
9090
}
9191
```
@@ -97,12 +97,12 @@ int InSQType(SQType q, DATA data){ // 入队列
9797
2. 从队列首部取出队头元素(实际是返回队头元素的引用)。
9898
3. 设修改队头head的序号,使其指向后一个元素。
9999
```java
100-
DATA OutSQType(SQType q){ // 出队列
100+
DATA OutSQType(SQType q){ // 出队列
101101
if(q.head==q.tail){
102102
System.out.println("队列已空! 操作失败!\n");
103103
return null;
104104
}else{
105-
return q.data[q.head++]; // 顺序出队列,并将队首指针+1
105+
return q.data[q.head++]; // 顺序出队列,并将队首指针+1
106106
}
107107
}
108108
```
@@ -111,7 +111,7 @@ DATA OutSQType(SQType q){ // 出队列
111111
## 读结点数据
112112
读操作其实是读取队列头的数据。需要注意的是,读结点数据的操作和出队列操作不同。读结点数据的操作仅显示队列顶结点数据的内容,而出队列操作则将队列顶数据弹出,该数据不再存在。
113113
```java
114-
DATA PeekSQType(SQType q){ //读结点数据
114+
DATA PeekSQType(SQType q){ //读结点数据
115115
if(SQTypeIsEmpty(q)==1){
116116
System.out.println("\n空队列");
117117
return null;
@@ -124,7 +124,7 @@ DATA PeekSQType(SQType q){ //读结点数据
124124
## 计算队列长度
125125
计算队列长度即统计该队列中数据结点的个数。计算队列长度的方法比较简单,用队尾序号减去队头序号即可。
126126
```java
127-
int SQTypeLen(SQType q){ // 计算队列长度
127+
int SQTypeLen(SQType q){ // 计算队列长度
128128
int temp;
129129
temp=q.tail - q.head;
130130
return temp;

src/dataStructure/stack/README.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class DATA{
1313
class StackType{
1414
static final int MAXLEN = 50;
1515
DATA[] data = new DATA[MAXLEN+1]; // 构建栈结构
16-
int top; // 栈顶
16+
int top; // 栈顶
1717
}
1818
```
1919
在上述代码中,定义了栈结构的最大长度MAXLEN,栈结构数据元素的类DATA及栈结构的类StackType。在类StackType中,data为数据元素,top为栈顶的序号。当top=0时表示栈为空,当top=SIZE时表示栈满。
@@ -24,40 +24,40 @@ Java语言中数组都是从下标0开始的。在这里,为了讲述和理解
2424
1. 按符号常量SIZE指定的大小申请一片内存空间,用来保存栈中的数据。
2525
- 设置栈顶引用的值为0,表示一个空栈。
2626
```java
27-
StackType STInit(){ // 栈的初始化
27+
StackType STInit(){ // 栈的初始化
2828
StackType p;
2929
if((p=new StackType())!=null){ // 申请栈内存
30-
p.top = 0; // 设置栈顶为0
31-
return p; // 返回指向栈的引用
30+
p.top = 0; // 设置栈顶为0
31+
return p; // 返回指向栈的引用
3232
}
3333
return null;
3434
}
3535
```
3636
## 判断空栈
3737
判断空栈即判断一个栈结构是否为空。如果是空栈,则表示该结构中没有数据。此时可以进行入栈操作,但不可以进行出栈操作。
3838
```java
39-
boolean STIsEmpty(StackType s){ // 判断栈是否为空
39+
boolean STIsEmpty(StackType s){ // 判断栈是否为空
4040
return s.top==0;
4141
}
4242
```
4343
## 判断满栈
4444
如果是满栈,则表示该结构中没有多余的空间来保存额外数据。此时不可以进行入栈操作,但是可以进行出栈操作。
4545
```java
46-
boolean STIsFull(StackType s){ // 判断栈是否已满
46+
boolean STIsFull(StackType s){ // 判断栈是否已满
4747
return s.top==MAXLEN;
4848
}
4949
```
5050
## 清空栈
5151
清空栈即清除栈中的所有数据,在程序中简单地将栈顶引用top设置为0,表示执行清空栈操作。
5252
```java
53-
void STClear(StackType s){ // 清空栈
53+
void STClear(StackType s){ // 清空栈
5454
s.top = 0;
5555
}
5656
```
5757
## 释放空间
5858
释放空间即释放栈结构所占用的内存单元,程序中,直接赋值null操作释放所分配的内存。一般在不需要使用栈结构的时候使用,特别是程序结束时。
5959
```java
60-
void STFree(StackType s){ // 释放栈所占用的空间
60+
void STFree(StackType s){ // 释放栈所占用的空间
6161
if(s != null){
6262
s = null;
6363
}
@@ -74,7 +74,7 @@ int PushST(StackType s, DATA data){ // 入栈
7474
System.out.println("栈溢出!\n");
7575
return 0;
7676
}
77-
s.data[++s.top] = data; // 元素入栈,top指针+1
77+
s.data[++s.top] = data; // 元素入栈,top指针+1
7878
return 1;
7979
}
8080
```
@@ -84,20 +84,20 @@ int PushST(StackType s, DATA data){ // 入栈
8484
2. 将栈顶引用top所指位置的元素返回。
8585
3. 设置top=top-1,也就是使栈顶引用减1,指向栈的下一个元素,原来栈顶元素被弹出。
8686
```java
87-
DATA PopST(StackType s){ // 出栈
87+
DATA PopST(StackType s){ // 出栈
8888
if(s.top==0){
8989
System.out.println("栈为空!\n");
9090
return null;
9191
}
92-
return s.data[s.top--]; // 元素出栈,top指针-1
92+
return s.data[s.top--]; // 元素出栈,top指针-1
9393
}
9494
```
9595
## 读结点数据
9696
读结点数据即读取栈结构中结点的数据。由于栈结构只能在一段进行操作,因此这里的读操作其实就是读取栈顶的数据。
9797

9898
需要注意的是,读结点数据的操作和出栈的操作不同。读结点数据的操作仅显示栈顶结点数据的内容,而出栈操作则是将栈顶数据弹出,该数据不再存在了。
9999
```java
100-
DATA PeekST(StackType s){ // 读栈顶数据
100+
DATA PeekST(StackType s){ // 读栈顶数据
101101
if(s.top==0){
102102
System.out.println("栈为空! 出栈失败!\n");
103103
System.exit(0);

0 commit comments

Comments
 (0)