1700415252
1700415253
if (x[i]>x[j]){
1700415254
1700415255
tmp=x[i];
1700415256
1700415257
x[i]=x[j];
1700415258
1700415259
x[j]=tmp;
1700415260
1700415261
}
1700415262
1700415263
}
1700415264
1700415265
}
1700415266
1700415267
在这里没有必要去深究这个程序的流程,这之后展示的代码也是如此。只要粗略浏览一下抓住其大意就好。这里只希望能关注一点,即通过使用数组和for语句,就能编写出实现线性搜索和冒泡排序算法的程序
1700415268
1700415269
1700415270
1700415271
1700415273
计算机是怎样跑起来的 6.4 要点4:了解并掌握典型数据结构的类型和概念
1700415274
1700415275
数组是一种直接利用内存物理结构(计算机的特性)的最基本的数据结构。只需使用for语句,就可以连续地处理数组中所存储的数据,实现各种各样的算法。但在现实世界中也有一些数据结构,仅凭借数组是无法实现的,比如有的数据结构可以把数据堆积得像山一样,有的数据结构可以把数据排成一队,有的数据结构可以任意地改变数据的排列顺序,还有的数据结构可以把数据分为两路排列,等待。为了用程序实现这些数据结构,就必须要设法改造数组,但是与之相应的内存的物理结构又是改变不了的,这可怎么办好呢?
1700415276
1700415277
就像在算法中有典型算法一样,在数据结构中也有典型数据结构(如表6.1所示),它们都是由程序员发明创造的。
1700415278
1700415279
表6.1 主要的典型数据结构
1700415280
1700415281
名称 数据结构的特征
1700415282
1700415283
栈 把数据堆积的像山一样
1700415284
1700415285
队列 把数据排成一队
1700415286
1700415287
链表 可以任意地改变数据的排列顺序
1700415288
1700415289
二叉树 把数据分为两路排列
1700415290
1700415291
这些数据结构其实都是通过程序从逻辑上改变了内存的物理结构,即数据在内存上呈现出的连续分布状态。接下来笔者会依次介绍每种典型的数据结构,所以请抓住它们各自的特点
1700415292
1700415293
栈(stack)的本意就是干草堆(如图6.4所示)
1700415294
1700415295
图6.4 栈的示意图
1700415296
1700415297
1700415298
[
上一页 ]
[ :1.700415249e+09 ]
[
下一页 ]