Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
704 commits
Select commit Hold shift + click to select a range
53a182c
第二次提交作业六(必做+选做题一):二叉树的高度,最大宽度,叶节点数以及非叶节点数
May 3, 2017
9662813
第二次提交作业六 to 第一次提交作业六(必做+选做题一):二叉树的高度,最大宽度,叶节点总数以及非叶节点个数
May 3, 2017
76a3bfa
求二叉树深度、最大宽度、叶子结点和非叶子结点
zzskin May 3, 2017
00e1a64
实现求二叉树深度、宽度、叶子结点数、非叶子结点数
May 3, 2017
1fa0114
二叉树深度、宽度
cloud0606 May 3, 2017
c8139dc
求w二叉树的深度、宽度
cloud0606 May 3, 2017
7acd4f8
第六次作业提交
HuanWoWeiLan May 3, 2017
6cbc689
求二叉树的深度 宽度 叶子与非叶子节点数
cloud0606 May 3, 2017
441f648
33
May 3, 2017
9b9c886
第6次作业 求二叉树高度宽度、叶子及非叶子结点个数
shielding May 3, 2017
fd4895a
修改错误重新提交
luyj May 3, 2017
fe2a8ce
homework modified
Jasmine2020 May 3, 2017
440ccfc
线性表的基本操作 test2-12
cloud0606 May 3, 2017
98af64f
整理文件夹
cloud0606 May 3, 2017
3343cee
求二叉树的深度 宽度 叶子和非叶子结点
cloud0606 May 3, 2017
1f32c78
Merge pull request #105 from xaZKX/master
c4pr1c3 May 3, 2017
a436347
第六次作业
Orange33 May 3, 2017
9a89ca5
二叉树tqh
jhcarl0814 May 3, 2017
a475716
求树的叶子和非叶子节点个数
Jasmine2020 May 3, 2017
0abf09f
链表拆分及二叉树
Sismark May 3, 2017
b42ec80
Merge pull request #115 from zzskin/master
c4pr1c3 May 3, 2017
dcad54b
Merge pull request #86 from Jasmine2020/master
c4pr1c3 May 3, 2017
a0f5725
更正二叉树
Sismark May 4, 2017
700b10a
新增高度深度计算、判断完全二叉树
May 4, 2017
925140c
进行了代码的修正,实现完全树的正确判断
jckling May 5, 2017
9aa5c56
修改过后的求二叉树深度、最大宽度、叶子结点和非叶子结点数
FLYFLY-H May 5, 2017
458d59f
深度、宽度、叶子节点
yang5220 May 5, 2017
c250c16
修改原代码并添加判断完全二叉树操作
luyj May 6, 2017
048c735
修改错误代码
luyj May 6, 2017
35baab8
Merge pull request #85 from LeLeF/homework5
c4pr1c3 May 6, 2017
671ce1d
Merge pull request #106 from PWHL/master1
c4pr1c3 May 6, 2017
51939eb
Merge pull request #124 from DcmTruman/master
c4pr1c3 May 8, 2017
b8f6368
Merge pull request #120 from cloud0606/master
c4pr1c3 May 8, 2017
3efccb2
Merge pull request #104 from TheMasterOfMagic/Tree
c4pr1c3 May 8, 2017
c1c8bbd
Merge pull request #107 from jckling/master
c4pr1c3 May 8, 2017
1860168
Merge pull request #109 from SunnyCcc/master
c4pr1c3 May 8, 2017
8d51717
第三次修改计算叶子非叶子结点
FLYFLY-H May 8, 2017
e1ba473
提交2017-04-27作业
May 8, 2017
d5c8ea6
修改第六次作业后提交
May 8, 2017
9ad8b11
第三次提交作业六:统一注释风格
May 8, 2017
5c19691
提交修改代码
luyj May 8, 2017
7ed5c0e
二叉树
jackcily May 8, 2017
d994197
二叉树构造
jackcily May 8, 2017
b6a0d5e
二叉树深度与宽度
jackcily May 8, 2017
b60bca1
二叉树叶子与非叶子
jackcily May 8, 2017
b1dfa11
二叉树的结点 叶子结点 非叶子结点 深度 宽度
Cassie8888 May 10, 2017
1895878
第五次作业测试用例修改,第六次作业新增测试用例
FukurouNarthil May 10, 2017
0024c7b
二叉数深度和宽度
PWHL May 10, 2017
815ac4e
Merge pull request #108 from luyj/master
c4pr1c3 May 10, 2017
fb99380
Merge pull request #87 from jackcily/master
c4pr1c3 May 11, 2017
898106a
Merge pull request #69 from FukurouNarthil/master
c4pr1c3 May 11, 2017
45e9915
Merge pull request #110 from Lyc-heng/master
c4pr1c3 May 11, 2017
99d8f57
Merge pull request #119 from shielding/master
c4pr1c3 May 11, 2017
18d9bbf
Merge pull request #116 from LeLeF/homework6
c4pr1c3 May 11, 2017
ec0815c
Merge pull request #113 from UP1998/advancedbitree
c4pr1c3 May 11, 2017
d66e4c6
【图】DPS寻找任意两点间最短路径√
May 11, 2017
2be90dc
补充运行结果局部截图
May 11, 2017
a1f41c1
Merge pull request #123 from Sismark/master
c4pr1c3 May 11, 2017
c866a76
Merge pull request #122 from tclhh/master
c4pr1c3 May 11, 2017
ac4b85d
Merge pull request #121 from Orange33/master
c4pr1c3 May 11, 2017
9538d06
Merge pull request #112 from Cassie8888/master
c4pr1c3 May 11, 2017
18068ba
二叉树深度、宽度、叶子数
yang5220 May 12, 2017
8669d22
Merge pull request #118 from HuanWoWeiLan/master
c4pr1c3 May 12, 2017
027a068
tqh_fix
jhcarl0814 May 12, 2017
9ca1a0c
Merge pull request #29 from Loxjan/master
c4pr1c3 May 12, 2017
e9d958a
Merge pull request #48 from dzmcuc/master
c4pr1c3 May 12, 2017
db2ef2f
Merge pull request #114 from yang5220/master
c4pr1c3 May 12, 2017
06340f5
Merge pull request #111 from FLYFLY-H/master
c4pr1c3 May 12, 2017
51b848b
二叉树的深度和宽度
PWHL May 13, 2017
144e9c8
实现图的广度优先遍历(求任意两点之间的最短路径)
jckling May 13, 2017
e671ccc
图两点间最短路径算法实现
luyj May 14, 2017
12da20d
Merge pull request #1 from CUCCS/master
MrCuihi May 14, 2017
f6c9711
广度优先法求最短路径
jackcily May 14, 2017
c540d58
广度优先求图的两结点之间最短路径
FLYFLY-H May 16, 2017
33950f9
广度优先遍历求图中任意两点间的最短路径
May 16, 2017
c586f62
Signed-off-by: lovefenxi <1508196041@qq.com>
lovefenxi May 16, 2017
a78554d
第四次作业之队列
lovefenxi May 16, 2017
ece95eb
广度搜索求最短路径
May 17, 2017
0a3f926
Signed-off-by: lovefenxi <1508196041@qq.com>
lovefenxi May 17, 2017
fdabe7e
Signed-off-by: lovefenxi <1508196041@qq.com>
lovefenxi May 17, 2017
cc7d413
第六次作业之二叉树的深度和最大宽度的求法
lovefenxi May 17, 2017
bd57290
求图的任意两个顶点之间的最短路径
xaZKX May 17, 2017
d28e541
广度优先遍历求图中两点最短路径
Jasmine2020 May 17, 2017
6be9367
实现了求图中两点之间的最短路径
Lyc-heng May 17, 2017
c7cf066
广度遍历求两顶点间最短路径
Orange33 May 17, 2017
279d1cb
yang5220 May 17, 2017
912e63e
广度遍历求图的最短距离
May 17, 2017
4bf97d2
Merge pull request #18 from springwintersummer/master
c4pr1c3 May 17, 2017
41efc04
提交第七次作业广度优先遍历求最短路径
May 17, 2017
55517aa
广度优先求图的任意两点之间最短路径
zzskin May 17, 2017
5e986dd
第一次提交作业七:广度优先求图中两点最小路径
May 17, 2017
1c03820
广度优先求最短路径
PWHL May 17, 2017
6482946
tqh_07
jhcarl0814 May 17, 2017
5bf1e2d
第七次作业提交
HuanWoWeiLan May 17, 2017
bb3480d
第七次作业广度优先遍历图
FukurouNarthil May 18, 2017
744fb65
美颜=-=
May 18, 2017
576c4b4
已美颜并判断了返回值
FLYFLY-H May 18, 2017
f5fa10a
Merge pull request #125 from Loxjan/master
c4pr1c3 May 19, 2017
c36bbb2
修改过的广度优先求图的任意两点之间最短路径
zzskin May 21, 2017
5613926
重新提交广度优先遍历求图中任意两点间的最短路径
May 21, 2017
9629661
排序二叉树
jackcily May 21, 2017
3714779
Merge pull request #128 from tclhh/master
c4pr1c3 May 22, 2017
b820cb0
Merge pull request #127 from TheMasterOfMagic/Graph
c4pr1c3 May 22, 2017
4e6a054
Merge pull request #147 from tclhh/master
c4pr1c3 May 22, 2017
378a193
Merge pull request #145 from SunnyCcc/master
c4pr1c3 May 22, 2017
0a4ec09
Merge pull request #149 from FukurouNarthil/master
c4pr1c3 May 22, 2017
41e6a2e
Merge pull request #133 from MrCuihi/master
c4pr1c3 May 22, 2017
824b6de
【二叉搜索树】代码(未拆分头文件)√+结果txt√
May 23, 2017
a3dc60e
二叉排序树的实现
xaZKX May 24, 2017
d180df9
二叉排列树的基本操作
FLYFLY-H May 24, 2017
8473ee3
二叉排列树的基本操作
FLYFLY-H May 24, 2017
7d2794c
广度优先遍历图,输出最短路径
yang5220 May 24, 2017
a3e384e
【二叉平衡树】代码(未拆分头文件)√+结果txt√
May 24, 2017
3c87ff4
【二叉搜索树+二叉平衡树】代码(已分离头文件)√
May 24, 2017
324a4de
实现了排序二叉树的基本操作
Lyc-heng May 24, 2017
a575cad
队列的基本操作
cloud0606 May 24, 2017
b30cb76
改名
cloud0606 May 24, 2017
0a34d28
第八次作业查找树
FukurouNarthil May 24, 2017
ee1cffa
Merge pull request #129 from jckling/master
c4pr1c3 May 24, 2017
20aa14f
顺序二叉树
luyj May 24, 2017
f2a37da
提交第八次作业
May 24, 2017
236d756
添加最近几次实验课上的演示代码
c4pr1c3 May 24, 2017
a0adf4d
二叉排序树
Jasmine2020 May 24, 2017
d8e366d
修改代码提交
luyj May 24, 2017
66b1fca
二叉排序树
PWHL May 24, 2017
178df3a
查找
May 24, 2017
864c232
实现二叉排序树的查找等操作
jckling May 24, 2017
fa9c726
二叉排列树
zzskin May 24, 2017
9d2d88b
第九次作业……
HuanWoWeiLan May 24, 2017
d425712
tqh_08
jhcarl0814 May 24, 2017
86fbdbd
(二叉排序树)查找表的初始化建立和查找
May 24, 2017
08c315a
二叉排序树建立动态查找表
May 24, 2017
2e9c54e
【B树】插入算法√
May 24, 2017
d6b21c4
第七次作业之广度优先遍历图
lovefenxi May 24, 2017
8b5b4bc
【B树】按层遍历输出√
May 24, 2017
93df732
B树删除算法未完成
May 24, 2017
f870979
更改二叉排序树建立动态查找表
May 25, 2017
ccffc69
Merge pull request #83 from lovefenxi/master
c4pr1c3 May 25, 2017
32064ff
Merge pull request #141 from LeLeF/homework7
c4pr1c3 May 25, 2017
a3e15ec
细节性问题的修改
May 26, 2017
59b4608
排序二茶树
yang5220 May 27, 2017
1c62d83
二叉平衡树
May 27, 2017
d1b8dda
二叉排序树
Orange33 May 28, 2017
bd19a57
按作业要求修改了打印到txt.文件中输出格式
May 29, 2017
bfc6036
Merge pull request #160 from SunnyCcc/master
c4pr1c3 May 31, 2017
e192c78
Merge pull request #157 from TheMasterOfMagic/Tree
c4pr1c3 May 31, 2017
b0d63c5
Merge pull request #131 from jackcily/master
c4pr1c3 May 31, 2017
bd65f17
二叉排序树修改
Jasmine2020 May 31, 2017
289f5d2
【Hash】开放地址哈希表√
May 31, 2017
361d9a6
【Hash】增添文本格式的运行结果
May 31, 2017
d74a1bf
修改后重新提交第八次作业
May 31, 2017
ddcd661
【Sort】插入排序+希尔排序+冒泡排序+快速排序+选择排序√(未分离头文件)
Jun 1, 2017
36e49ce
Merge pull request #158 from jckling/master
c4pr1c3 Jun 2, 2017
a602ffd
Merge pull request #153 from luyj/master1
c4pr1c3 Jun 2, 2017
f892d45
Merge pull request #146 from PWHL/master
c4pr1c3 Jun 2, 2017
ade7cd6
Merge pull request #137 from Lyc-heng/master
c4pr1c3 Jun 2, 2017
94cdb25
修改了函数返回值定义
jckling Jun 2, 2017
7eb83af
实现平衡二叉树的操作
jckling Jun 2, 2017
60f7e4b
Merge pull request #161 from MrCuihi/master
c4pr1c3 Jun 2, 2017
b876f22
Merge pull request #159 from tclhh/master
c4pr1c3 Jun 2, 2017
1e13910
Merge pull request #154 from LeLeF/homework8
c4pr1c3 Jun 2, 2017
f9639eb
Merge pull request #138 from Orange33/master
c4pr1c3 Jun 2, 2017
343917e
Merge pull request #152 from FukurouNarthil/master
c4pr1c3 Jun 2, 2017
59cbbb3
修改二叉排序树建立动态查找表
Jun 2, 2017
e006fab
修改的查找操作
Jun 3, 2017
b3604ef
AVL树操作
jackcily Jun 3, 2017
c2bffff
必选排序
jackcily Jun 3, 2017
1012b70
平衡二叉树
luyj Jun 3, 2017
dc80f2e
Merge pull request #151 from cloud0606/master
c4pr1c3 Jun 4, 2017
323c43d
Merge pull request #136 from Jasmine2020/master
c4pr1c3 Jun 4, 2017
7ff4944
Merge pull request #135 from xaZKX/master
c4pr1c3 Jun 4, 2017
ebc421d
Merge pull request #134 from DcmTruman/master
c4pr1c3 Jun 4, 2017
402946d
Merge pull request #132 from FLYFLY-H/master
c4pr1c3 Jun 4, 2017
177bcde
【Sort】堆排序√
Jun 4, 2017
49ba73b
【Sort】归并排序√
Jun 4, 2017
9106f44
【Sort】分离头文件
Jun 4, 2017
7d5dadd
【Sort】修改一些排版上的细节
Jun 4, 2017
1bb8c2f
【Sort】补充了数组为长数组、长度为9以及长度为2时的输出结果
Jun 4, 2017
0bf2591
初步实现插入、冒泡、希尔排序
shielding Jun 5, 2017
ec5eab8
提交第九次作业实现各种排序
Jun 6, 2017
ca48162
Merge pull request #126 from PWHL/master1
c4pr1c3 Jun 6, 2017
f3cb855
Merge pull request #130 from luyj/master
c4pr1c3 Jun 6, 2017
65d5a12
Merge pull request #156 from UP1998/Search
c4pr1c3 Jun 6, 2017
7a359e7
完善dijkstra算法,支持有向网,修改测试图数据文件格式定义
c4pr1c3 Jun 7, 2017
d3e56f9
实现了插入,希尔,冒泡,选择,快速排序
xaZKX Jun 7, 2017
3bf5128
重新提交第九次作业函数分开使用
Jun 7, 2017
1205157
第九次作业七种排序
FukurouNarthil Jun 7, 2017
0a7a455
排序:插入+冒泡+快速+选择+希尔
Jun 7, 2017
d95c6dd
实现各种排序
jckling Jun 7, 2017
93b7f3c
插入+希尔+起泡+快速+简单选择排序算法实现
Jun 7, 2017
e88c0b9
排序
FLYFLY-H Jun 7, 2017
3ee2705
第九次作业提交
HuanWoWeiLan Jun 7, 2017
62dfbec
第九次作业提交
HuanWoWeiLan Jun 7, 2017
baef34f
Merge pull request #167 from TheMasterOfMagic/Sort
c4pr1c3 Jun 13, 2017
4db3af1
Merge pull request #165 from jackcily/master
c4pr1c3 Jun 13, 2017
05dbaab
1.修改文件后缀名;
Jun 13, 2017
a1e54e3
Merge pull request #178 from MrCuihi/master
c4pr1c3 Jun 14, 2017
fa1c13e
Merge pull request #175 from SunnyCcc/master
c4pr1c3 Jun 14, 2017
65f3271
二叉排列树
zzskin Jun 14, 2017
c402d96
- 增加注释
Jun 14, 2017
20542ae
哈希表建立和查找,线性解决冲突
Jun 14, 2017
c5909b0
修改后再次提交
Jun 14, 2017
8c9637c
实现哈希表的建立和查找
Jun 14, 2017
1a1effa
排序
yang5220 Jun 14, 2017
ac34a70
哈希表线性探测再散列
jackcily Jun 14, 2017
5e9ec77
Hash查找表的建立、关键字查找和重建哈希表
xaZKX Jun 14, 2017
03146bc
完成哈希表的建立
jckling Jun 14, 2017
29779b5
第十次作业开放定址
FukurouNarthil Jun 16, 2017
b3a2171
第六,七次作业
Sismark Jun 16, 2017
3d31029
BST
cloud0606 Jun 17, 2017
6814110
误删除了之前队列作业的主函数
cloud0606 Jun 17, 2017
efc480b
二叉树的遍历
Wzy-CC Jun 17, 2017
64abb39
Hash查找表的建立、关键字查找
cloud0606 Jun 17, 2017
73700c0
第八次作业
Sismark Jun 17, 2017
2fd9b91
补排序作业
Jun 18, 2017
fa4f69e
必选:使用“开放定址法之线性探测再散列”解决Hash冲突
Jun 18, 2017
a390e69
重建哈希表、输出结果
cloud0606 Jun 18, 2017
7c7994a
拆分链表 第二次作业
cloud0606 Jun 18, 2017
3ab38d6
Hash表
yang5220 Jun 18, 2017
b1bf0f3
纠正版排序
yang5220 Jun 18, 2017
13026c5
第十次作业提交
HuanWoWeiLan Jun 18, 2017
8e0332d
实现了插入,希尔,冒泡,选择,快速排序
zzskin Jun 18, 2017
9fe6b8d
提交第十次作业
HuanWoWeiLan Jun 18, 2017
29101bb
哈希表
zzskin Jun 18, 2017
58db862
修正版排序二叉树
yang5220 Jun 18, 2017
ed1a800
队列的基本操作
Wzy-CC Jun 18, 2017
f3c373c
第10次作业 所以必选的排序算法
cloud0606 Jun 18, 2017
282cd21
作业补交
shielding Jun 19, 2017
9ae887d
对简单选择排序进行了更改
jckling Jun 19, 2017
07cf57f
Merge pull request #139 from yang5220/master
c4pr1c3 Jun 19, 2017
00aebb0
添加了对拆分链表算法的分析
cloud0606 Jun 20, 2017
29a5b9c
添加了作业10的测试结果
cloud0606 Jun 20, 2017
07cf33a
Merge pull request #194 from shielding/master
c4pr1c3 Jun 21, 2017
3d47d51
Merge pull request #193 from HuanWoWeiLan/homework10
c4pr1c3 Jun 21, 2017
bd0d998
Merge pull request #190 from Wzy-CC/master
c4pr1c3 Jun 21, 2017
d635664
Merge pull request #187 from Sismark/master
c4pr1c3 Jun 21, 2017
1e3b77a
Merge pull request #181 from DcmTruman/master
c4pr1c3 Jun 21, 2017
54bab25
Merge pull request #172 from xaZKX/master
c4pr1c3 Jun 21, 2017
a5f3c22
Merge pull request #188 from cloud0606/master
c4pr1c3 Jun 21, 2017
f8ecc39
Merge pull request #164 from jckling/master
c4pr1c3 Jun 21, 2017
5b64766
Merge pull request #150 from FLYFLY-H/branch1
c4pr1c3 Jun 21, 2017
90bd4ec
Merge pull request #142 from zzskin/master
c4pr1c3 Jun 21, 2017
eb998e3
Merge pull request #182 from LeLeF/homework10
c4pr1c3 Jun 21, 2017
cd54f40
Merge pull request #183 from jackcily/master
c4pr1c3 Jun 21, 2017
245a67a
Merge pull request #179 from FLYFLY-H/master
c4pr1c3 Jun 21, 2017
44d247a
Merge pull request #174 from FukurouNarthil/master
c4pr1c3 Jun 21, 2017
8267561
Merge pull request #163 from TheMasterOfMagic/Hash
c4pr1c3 Jun 21, 2017
7c8d6e8
Merge pull request #155 from Jasmine2020/Chapter9
c4pr1c3 Jun 21, 2017
8c7f3f1
Merge pull request #166 from luyj/master1
c4pr1c3 Jun 22, 2017
7e82b30
Merge pull request #191 from SunnyCcc/master
c4pr1c3 Jun 22, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
*.sln
*.vcxproj
*.vcxproj.filters
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
Expand Down
69 changes: 69 additions & 0 deletions 2017-1/Cloud/1.线性表的基本操作/LinkList.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
#include "LinkList.h"

/* �����ı��� */
void TraverseList(LinkList p) {
LinkList l = p;
l = l->next;
while ( l != p) {
printf("%d ",l->data);
l = l->next;
}
printf("\n");
}

/* �������� */
LinkList CreatList( int n) {
LNode *L,* p;
int i;
L = (LinkList)malloc(sizeof(LNode));
L->next = L;
L->data = n;
if (!L)
exit(1);
for (i = 0; i < n ; i++) {
p = (LinkList)malloc(sizeof(LNode));
if (!p)
exit(1);
p->data = i;
p->next = L->next;
L->next = p;
}
return L;
}

/*��ʼ������*/
void InitList(LinkList a) {
LinkList p = a;
for (; p->next != a; p = p->next) {
p->data = 0;

}
}

/* ������� */
void SeparateList(LinkList A, LinkList b, LinkList c) {
//�㷨�������㷨�ĵ�ʱ�临�Ӷ�Ϊ O��n�����ռ临�Ӷ�ΪO��1����
//�ڱ�֤�㷨����ȷ�Ե�ǰ���£�ʹ�������ٵ�ʱ�临�ӶȺ����ٵĿռ临�Ӷ�
LinkList p = A,p1 = b,p2 = c;
InitList(b);
InitList(c);
p = p->next;
p1 = p1->next;
p2 = p2->next;
while ( p != A) {
p1->data = p->data;
b->data++;
p1 = p1->next;
p = p->next;
if (p != A) {
p2->data = p->data;
c->data++;
p2 = p2->next;
p = p->next;
}
}
return;
}



30 changes: 30 additions & 0 deletions 2017-1/Cloud/1.线性表的基本操作/LinkList.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#pragma once
#ifndef LINKLIST_H
#define LINKLIST_H
#include<stdio.h>
#include<stdlib.h>
#define length 10

typedef struct LNode {
int data;
struct LNode *next;
}LNode, *LinkList;

typedef enum {
true,
false
}bool;

/* �����ı��� */
void TraverseList(LNode * p);

/* �������� */
LinkList CreatList(int n);

/* ������� */
void SeparateList(LinkList A, LinkList b, LinkList c);

/*��ʼ������*/
void InitList(LinkList);

#endif
13 changes: 13 additions & 0 deletions 2017-1/Cloud/1.线性表的基本操作/main_LinkList.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#include <stdio.h>
#include "LinkList.h"
#define length 20
int main() {
LinkList A = CreatList(length),
a1 = CreatList(length/2),
a2 = CreatList(length/2);
TraverseList(A);
SeparateList(A, a1, a2);
TraverseList(a1);
TraverseList(a2);
return 0;
}
3 changes: 3 additions & 0 deletions 2017-1/Cloud/1.线性表的基本操作/main_LinkList.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
19 17 15 13 11 9 7 5 3 1
18 16 14 12 10 8 6 4 2 0
87 changes: 87 additions & 0 deletions 2017-1/Cloud/1.线性表的基本操作/test2-12.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
#include<stdio.h>
#include<stdlib.h>
#define length 10

typedef struct LNode{
int data;
struct LNode *next ;
}LNode;
typedef struct LNode *LinkList;

typedef enum {
true,
false
}bool;

void travle(LinkList p);
void CreatList(LinkList L,int n);
void MergeList(LinkList La,LinkList Lb,LinkList Lc);

void travle(LinkList p){

int i;
printf("��������:");
//p = L_->next
for( i = 0 ;i <length;i++){
//printf("%d ",(L_+i)->data);
printf("%d ",p->data );
p = p->next ;
}
printf("\n");
}

void CreatList(LinkList L,int n){
LNode *p;
int i;
L = (LinkList)malloc( sizeof(LNode) );
L->next = NULL;//������������ͷ���
if(L)
printf("ͷ�ڵ㴴���ɹ���\n");
for(i = n; i > 0;--i){
p = (LinkList)malloc(sizeof(LNode));
if(p)
printf("�ɹ�����һ���ڵ�ռ䣬������һ��������");
scanf("%d",& p->data );
p->next = L->next ;//��һ������ʱL->next����һ�β���Ľڵ���������������󡣣�
L->next = p;//������һ�������ɵĽ������ȥ��
}
travle(L);
//printf("����һ����������");
//for(int i ;i <length;i++){
// printf("%d",L+i);
//}

}

void MergeList(LinkList La,LinkList Lb,LinkList Lc){
LinkList pa,pb,pc;
pa = La->next ;
pb = Lb->next ;
Lc = pc = La;
while(pa && pb){
if( pa->data <= pb->data ){
pc->next = pa;
pc = pa;
pa = pa->next ;
}
else{
pc->next = pb;
pc = pb;
pb = pc->next;
}
}
pc->next = pa ? pa : pb;
free(Lb);
}

int main(){
LNode list_a,list_b,list_c;

CreatList(&list_a,length);
CreatList(&list_b,length);
MergeList(&list_a,&list_b,&list_c);
travle(&list_c);
return 0;
}


106 changes: 106 additions & 0 deletions 2017-1/Cloud/2.栈和队列的基本操作/Queue.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
#pragma once
#include "Queue.h"

/*��ʼ������*/
Status InitQueue(LinkQueue *q) {
q->front = q->rear = (QueuePtr)malloc(sizeof(QNode));
if (!q->front) {
exit(OVERFLOW);
}
q->front->next = NULL;
q->rear->next = NULL;
return OK;
}

/*����һ��Ԫ�أ���e������ֵ*/
Status EnQueue(LinkQueue *q, QElemType e) {
QueuePtr p;
p = (QueuePtr)malloc(sizeof(QNode));
if (!p) {
return OVERFLOW;
}
p->data = e;
p->next = NULL;
q->rear->next = p;
q->rear = p;
return OK;
}

/*�������Ƿ�Ϊ��*/
bool QueueEmpty(LinkQueue q) {
if (q.front == q.rear) {
return true;
}
else {
return false;
}
}

/*ɾ����ͷԪ�أ� ��e������ֵ*/
Status DeQueue(LinkQueue *q, QElemType *e) {
if (QueueEmpty(*q)) {
return ERROR;
}
QueuePtr p;
p = q->front->next;//q->frontΪͷ�ڵ㣬q->front->nextΪ��ͷԪ��
e = p->data;
q->front->next = p->next;
if (q->rear == p)//���ɾ�����Ƕ��е����һ��Ԫ�أ���Ҫ�޸�βָ��
q->rear = q->front;
return OK;
}

/*��������*/
Status TraverseQueue(LinkQueue q) {
QueuePtr p;
if (QueueEmpty(q)) {
printf("������\n");
return OK;
}
p = q.front->next;
while (p != q.rear) {
printf("%d ", p->data);
p = p->next;
}
printf("%d", p->data);
printf("\n");
return OK;
}

/*���ٶ���*/
Status DestroyQueue(LinkQueue *q) {
while (q->front) {
q->rear = q->front->next;
free(q->front);
q->front = q->rear;
}
return OK;
}

/*������q���Ϊ�ն���*/
Status ClearQueue(LinkQueue *q) {
if (!QueueEmpty(*q)) {
q->rear = q->front;
return OK;
}
return false;
}

/*���ض��еij���*/
int QueueLength(LinkQueue *q) {
int l;
QueuePtr lq;
for (l = 0, lq = q->front->next; lq != q->rear; l++) {
lq = lq->next;
}
return l + 1;
}

/*���ض��еĶ�ͷԪ��*/
Status GetHead(LinkQueue *q, QElemType *e) {
if (!QueueEmpty(*q)) {
*e = q->front->next->data;
return OK;
}
return false;
}
43 changes: 43 additions & 0 deletions 2017-1/Cloud/2.栈和队列的基本操作/Queue.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#ifndef QUEUE_H
#define QUEUE_H
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef int QElemType;
typedef enum {
false,
true,
}bool;
typedef enum {
OK,
ERROR,
OVERFLOW
} Status;
typedef struct QNode {
QElemType data;
struct QNode *next;
}QNode, *QueuePtr;
typedef struct _LinkQueue {
QueuePtr front;
QueuePtr rear;
}LinkQueue;

/*��ʼ������*/
Status InitQueue(LinkQueue *q);
/*����һ����㣬��e������ֵ*/
Status EnQueue(LinkQueue *q, QElemType e);
/*�������Ƿ�Ϊ��*/
bool QueueEmpty(LinkQueue q);
/*ɾ��һ����㣬 ��e������ֵ*/
Status DeQueue(LinkQueue *q, QElemType *e);
/*��������*/
Status TraverseQueue(LinkQueue q);
/*���ٶ���*/
Status DestroyQueue(LinkQueue *q);
/*������q���Ϊ�ն���*/
Status ClearQueue(LinkQueue *q);
/*���ض��еij���*/
int QueueLength(LinkQueue *q);
/*���ض��еĶ�ͷԪ��*/
Status GetHead(LinkQueue *q, QElemType *e);
#endif
Loading