【选择排序】selection sort
更新时间:2023-08-27 22:38:01 阅读量: 教育文库 文档下载
- 简单选择排序推荐度:
- 相关推荐
【选择排序】selection sort
①直接打擂的方式:(直接选择排序法)direct selection
②锦标赛的方法:(树型选择法)non-tratified form
③堆排序:heapsort
【完全二叉树】complete binary tree
【交换排序】exchange sort
【冒泡排序法】bubble sort
【快速排序法】quick sort
1.各种方法概述
1)结构化编程
程序应该按自上而下的顺序执行,不会做随便跳转。主要为了提高可读性(特别是控制结构的),可自上而下的阅读代码,并且执行的顺序也大体是这样的。 它的三个组成部分:顺序Sequence,选择selection,循环(或迭
代)repetition (or iteration)。任何控制结构都可以用这三个部分组成。 需要小心使用其他方式如:break,continue,return,throw-catch.
2)模块化编程
将逻辑相关的数据和函数放在一个模块中。
它没有多个实例的概念,相当于面向对象中的仅包含静态方法和静态变量的类。不需要实例化即可直接调用方法,只存在一个"实例"。
VB中的Module就是这个思想的应用。
3)面向对象编程
主要特点:封装,继承,多态。
封装(Encapsulation):将逻辑相关的数据和方法(函数)放在一个类中。跟模块化编程做的一致。
继承(Inheritance):将内容或接口重用,并实现类型的多态。
多态(Polymorphism):不同的语义环境下,同一名称可以有多种不同的实现。 具体表现为两类:
同名方法不同内容,实现方式:使用重载(overload),当然方法的参数是不同的;
同名类型不同内容,实现方式:使用覆盖(override)或实现(implement)。允许使用同一接口调用不同类的的实例对象。
2.各种方法的目标
结构化编程。重点是是控制结构,可看作是基本程序语句(无子程序)的结构;
子程序化编程。似乎没有相关的历史潮流,但我认为加入它会使整个方法的发展过程更加完整。子程序(或过程、函数、方法)是模块化、面向对象编程的最重要的基石。
模块化编程。重点是将数据和子程序逻辑相关的组合;
面向对象编程。在模块化的基础上重点加入了模块之间的关系。这里的模块已演化为类。
3.方法体系
上述几种编程方法可以归为一类,属于一个方法体系,其重点在于编程本身,力图管理并降低程序逻辑的复杂性。随其发展,管理的代码单元越来越大,越来越复杂,其方式也越来越接近日常的思维。核心是封装逻辑结构(子程序、模块、类),以便在更高层次上获得简化的关系。
我认为此体系中新的方法还未出现。现在流行的方法中:AOP(面向方面编程),仅是此体系有益的补充;SOA面向服务架构,重点在于用统一的方式调用,而不依赖于底层技术,是组件化的一种形式,这不是这一类的主线方向。
4.总结:
以往的编程方法和原则在现代的方法中得到了保留和发展,这对新手是一个挑战,不循序渐进的学习这些技术,想要短期学会现代方法(如:面向对象编程)是困难的。
记住这些编程方法的主旨是很有好处的。
新的编程方法必将是历史方法的继承和发展,所以学好这些旧的方法非常重要。
掌握这些在各种层出不穷的新语言和新工具中不变的精华,或许,我们可以不再疲于追赶新的技术潮流。
微软的英汉词典对学习计算机英语不错
C语言中的关键字
auto :声明自动变量 一般不使用
double :声明双精度变量或函数
int: 声明整型变量或函数
struct:声明结构体变量或函数
break:跳出当前循环
else :条件语句否定分支(与 if 连用)
long :声明长整型变量或函数
switch :用于开关语句
case:开关语句分支
enum :声明枚举类型
register:声明积存器变量
typedef:用以给数据类型取别名(当然还有其他作用)
char :声明字符型变量或函数
extern:声明变量是在其他文件正声明(也可以看做是引用变量)
return :子程序返回语句(可以带参数,也看不带参数)
union:声明联合数据类型
const :声明只读变量
float:声明浮点型变量或函数
short :声明短整型变量或函数
unsigned:声明无符号类型变量或函数
continue:结束当前循环,开始下一轮循环
for:一种循环语句(可意会不可言传)
signed:生命有符号类型变量或函数
void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用) default:开关语句中的“其他”分支
goto:无条件跳转语句
sizeof:计算数据类型长度
volatile:说明变量在程序执行中可被隐含地改变
do :循环语句的循环体
while :循环语句的循环条件
static :声明静态变量
if:条件语句
C语言中的32个关键字
第一个关键字:auto
用来声明自动变量。 可以显式的声明变量为自动变量。只要不是声明在所有函数之前的变量,即使没加auto关键字,也默认为自动变量。并且只在声明它的函数内有效。而且当使用完毕后,它的值会自动还原为最初所赋的值。自动变量使用时要先赋值,因为其中包含的是未知的值。例:auto int name=1; 第二个关键字:static
用来声明静态变量。可以显式的声明变量为静态变量。也为局部变量。只在声明它的函数内有效。它的生命周期从程序开始起一直到程序结束。而且即使使用完毕后,它的值仍旧不还原。即使没有给静态变量赋值,它也会自动初始化为0.例:static int name=1.
第三个关键字:extern
用来声明全局变量。同时声明在main函数之前的变量也叫全局变量。它可以在程序的任何地方使用。程序运行期间它是一直存在的。全局变量也会初始化为0.例:extern int name;
第四个关键字:register
用来声明为寄存器变量。也为局部变量,只在声明它的函数内有效。它是保存在寄存器之中的。速度要快很多。对于需要频繁使用的变量使用它来声明会提高程序运行速度。例:register int name=1;
第五个关键字:int
用来声明变量的类型。int为整型。注意在16位和32位系统中它的范围是不同的。16位中占用2个字节。32位中占用4个字节。还可以显式的声明为无符号或有符号:unsigned int signed int .有符号和无符号的区别就是把符号位也当作数字位来存储。也可用short和long来声明为短整型,或长整行。例:int num;
第六个关键字:float
用来声明变量的类型。float为浮点型,也叫实型。它的范围固定为4个字节。其中6位为小数位。其他为整数位。例:float name;
第七个关键字:double
用来声明为双精度类型。它的范围为8个字节。14位为小数位。也可使用更高精度的long double 它的范围则更大,达到10字节。例:double name; 第八个关键字:struct
用来声明结构体类型。结构体可以包含各种不同类型的量。比如可以把整型,字符型等类型的变量声明在同一个结构体种,使用的时候使用结构体变量直接可以调用。例:struct some{
int a=1;
float b=1.1
double=1.1234567
}kkk;
这样就可以使用kkk.a来使用结构体中的成员变量了 。也可以显式的用struct some aaa,bbb;来声明多个结构体变量。
第九个关键字:char
用来定义为字符型变量。它的范围通常为1个字节。它在内存中是以ASC||玛来表示的。所以它也可以跟整型来运算。也可使用无符号或有符号来定义。sigened char unsigned char例:char c;
第十个关键字:break
用来表示中断。一般用在循环中。判断是否满足条件然后中断当前循环。例:break;
第十一个关键字:continue
用来表示跳过当前其后面的语句,继续下一次循环。例:continue;
第十二个关键字:long
用来声明长型的类型。比如long int long double .
第十三个关键字:if
判断语句,用来判断语句是否满足条件,例:if a==b
k=n;
第十四个关键字:switch
条件选择语句,常用来判断用户选择的条件来执行特定语句。例:switch (name) {
case ok:
printf("yes,ok!");
break;
case no:
printf("oh,no!");
default:
printf("error..!")
break;
}
第十五个关键字:case
配合switch一起使用,例子同上。
第十六个关键字:enum
用来声明枚举变量。.. 例:enum day{one,two,three,four,five,six,seven }; 第十七的关键子:typedef
类型重定义..可以重定义类型,例:typedef unsigned int u_int; //将无符号整形定义为u_int .
第十八个关键字:return;
返回语句。可以返回一个值。当我们定义一个函数为有返回值的时候则必须返回一个值。
第十九个关键字:unio
定义联共用体。用法用struct相同。不同的是共用体所有成员共享存储空间. unio kkk{
int a;
float b;
}kka;
第二十个关键字:const
定义为常量.. 例: const int a; //变量a的值不能被改变.
第二十一个关键字:unsigned
定义为无符号的变量.. 默认变量都为有符号的.除非显示的声明为unsigned的.
第二十二个关键字:for
循环语句.可以指定程序循环多少次. 例: for (int i=0;i<5;i++)
{
printf("程序将输出5次这段话!");
}
第二十三个关键字:signed
将变量声明为有符号型. 默认变量就为signed 型。一般可省略。
第二十四个关键字:void
空类型.. 一般用于声明函数为无返回值或无参数。
第二十五个关键字:default
用于在switch语句中。定义默认的处理. 用法见switch。
第二十六个关键字:goto
无条件循环语句. 例: int i=1;
w_go:
i++;
if (i<5)
goto w_go;
else
printf("%d",i);
第二十七个关键子字:sizeof
用来获取变量的存储空间大小.
第二十八个关键字:volatile
将变量声明为可变的. 用法 volatile int a; 具体用法还是不太明白。标记..!! 第二十九个关键字:do
一般与while语句 配合使用. 构成的形式如 do while 或while do .例见while语句。
第三十个关键字: while
循环控制语句。 只要表达式为真就一直循环.
第三十一个关键字:else
常用来配合if一起使用。
第三十二个关键字:short
用于声明一个短整型变量: 例: short int a access arm 磁头臂,存取臂
access time 存取时间
adder 加法器
address 地址
alphanumeric 字母数字的
analog computer 模拟计算机
analyst 分析员
area 区域
array 数组,阵列
assembler 汇编程序
automation 自动化
band 区
batch processing 成批处理
binary code 二进制码
binary digit 二进制位,二进制数字
bit 比特,二进制的一位
branch 分支,支线
brush 电刷
buffer storage 缓冲存储器
calculator 计算器
call instruction 呼叫指令
card punch 卡片穿孔机
card reader 卡片阅读机,读卡机
cell 单元
channel 通道,信道
character 字符
check digit 校验数位
circuit 电路,线路
to clear 清除,清零
clock 时钟
code 代码
to code 编码
coder 编码员,编码器
command 指令,命令
compiler 编译程序
computer language 计算机语言
console 控制台
control unit 控制部件,控制器
core storage, core store 磁心存储器 counter 计数器
cybernetics 控制论
cycle 循环
data 数据
data processing 数据处理
debugging 调试
decision 制定
digit 数字,数位,位
digital computer 数字计算机
disc, disk 磁盘
display unit 显示装置
drum 磁鼓
to edit 编辑
electronics 电子学
emitter 发射器
to encode 编码
to erase 擦除,清洗,抹除
feed 馈送,供给
to feed 馈送,供给
feedback 反馈
field 字段,信息组,域
file 文件
floppy disk 软磁盘
floppy disk drive 软磁盘机
flow chart 流程图
frame 帧
hardware 硬件
identifier 标识符
index 索引
information 信息
inline processing 内处理
input 输入
inquiry 询问
instruction 指令
integrated circuit 集成电路
to interpret 解释
item 项目,项
jump 转移
key 键,关键码
keyboard 键盘
latency time 等待时间
library 库,程序库
linkage 连接
to load 装入,寄存,写入,加载
location 存储单元
logger 登记器,记录器
loop 循环
machine language 机器语言
magnetic storage 磁存储器
magnetic tape 磁带
matrix 矩阵
memory 存储器
message 信息,报文
microcomputer 微型计算机
module 组件,模块
monitor 监视器,监督程序,管程
nanosecond 毫微秒
network 网络,网
numeric, numerical 数字的,数值的
octet 八位位组,八位字节
operator 操作员
optical character reader 光符阅读机 optical scanner 光扫描器
output 输出
overflow 溢出,上溢
panel 平板
parameter 参数,参量
perforator 穿孔机
peripheral equipment 外围设备,外部设备 personal computer 个人计算机
printed circuit 印制电路
printer 打印机
printout 打印输出
to process 处理
processing unit 处理部件
program 程序
to program 程序编制
programmer 程序设计员
programming 程序设计,程序编制
pulse 脉冲
punch 穿孔
to punch 穿孔
punched card, punch card 穿孔卡片 punched tape, punch tape 穿孔纸带 punch hole 孔,穿孔
random access 随机存取
to read 读
reader 阅读程序
reading 阅读
real time 实时
record, register 记录
redundancy 冗余
routine 例行程序
selector 选择器,选择符
sentinel 标记
sequence 序列,顺序
sequential 顺序的
serial 串行的.连续的
shift 移位,移数
signal 信号
simulation 模拟
simulator 模拟器,模拟程序
software 软件,软设备
sort 分类,排序
sorter 分类人员,分类机,分类程序,排序程序 storage 存储器
to store 存储
subroutine, subprogram 子程序
switch 开关
symbol 符号
symbolic language 符号语言
system 系统
tabulator 制表机
teleprinter 电传打字机
terminal 终端
terminal unit 终端设备
timer 时钟,精密计时器
time sharing 分时
timing 定时
track 磁道
transducer 传感器,翻译机
translator 翻译程序,翻译器
to update 更新
Winchester disk drive 温彻斯特磁盘机,硬盘机 working storage 工作存储器
method方法
function函数
procedure过程
正在阅读:
【选择排序】selection sort08-27
5 碱金属和碱土金属10-17
中考数学备考专题复习试题03-08
辽宁省部分重点中学协作体2009年高考模拟考试(数学理).doc03-09
7.《安妮日记》教案(备用)08-19
WLAN Direct(wifi直连)使用详解(图文),华为 U9508 荣耀四核 爱享版 安卓论坛12-24
动名词的用法学案03-03
金都清宸公寓安装工程监理细则03-08
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- selection
- 排序
- 选择
- sort
- 板上钉钉,上漏下湿-藏头诗
- 生产经营单位主要负责人和安全管理人员安全培训电子教案
- 安全用电管理规定
- 安全证书上的名称无效或者与站点不匹配解决办法
- 城市的远见——坚持远见,整体规划 观后感
- 文献检索—CBM
- 英美诗歌的押韵
- 【2018-2019】入团志愿书表格填写样本-易修改word版 (1页)
- 徐州工程学院工程力学试卷及答案1
- 专题2010年1-11月文学类图书市场
- 浅论中学英语学习的趣味性2
- 软件项目管理-每周例会会议记录(模板)
- 对银行微博运营 银行社交网络 银行网络营销 金融互联网化的思考
- 柳州市民办职业培训学校办学申请报告
- 利用有限差分和MATLAB矩阵运算直接求解二维泊松方程
- 第四章 成本利润分析
- 汽车美容与装饰教案
- 2016-2022年中国焊接钢管行业前景研究与行业竞争对手分析报告
- 系统安装的BIOS设置
- 赏析版2011年1-3月经济学人文章(英汉双语对照)汇集