教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教育文库 >

【选择排序】selection sort

来源:网络收集 时间:2026-08-28
导读: 【选择排序】selection sort ①直接打擂的方式:(直接选择排序法)direct selection ②锦标赛的方法:(树型选择法)non-tratified form ③堆排序:heapsort 【完全二叉树】complete binary tree 【交换排序】exchange sort 【冒泡排序法】bubble sort 【快

【选择排序】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个字节 …… 此处隐藏:2863字,全部文档内容请下载后查看。喜欢就下载吧 ……

【选择排序】selection sort.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/109588.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)