【选择排序】selection sort

上传人:无*** 文档编号:171384446 上传时间:2022-11-26 格式:DOC 页数:11 大小:55KB
返回 下载 相关 举报
【选择排序】selection sort_第1页
第1页 / 共11页
【选择排序】selection sort_第2页
第2页 / 共11页
【选择排序】selection sort_第3页
第3页 / 共11页
点击查看更多>>
资源描述
【选择排序】selection sort直接打擂的方式:(直接选择排序法)direct selection锦标赛的方法:(树型选择法)non-tratified form堆排序:heapsort【完全二叉树】complete binary tree【交换排序】exchange sort【冒泡排序法】bubble sort【快速排序法】quick sort1.各种方法概述 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 someint a=1;float b=1.1double=1.1234567kkk;这样就可以使用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=bk=n;第十四个关键字:switch条件选择语句,常用来判断用户选择的条件来执行特定语句。例:switch (name)case ok:printf(yes,ok!);break;case no:printf(oh,no!);default:printf(error.!)break;第十五个关键字:case配合switch一起使用,例子同上。第十六个关键字:enum用来声明枚举变量。. 例:enum dayone,two,three,four,five,six,seven ;第十七的关键子:typedef类型重定义.可以重定义类型,例:typedef unsigned int u_int; /将无符号整形定义为u_int .第十八个关键字:return;返回语句。可以返回一个值。当我们定义一个函数为有返回值的时候则必须返回一个值。第十九个关键字:unio定义联共用体。用法用struct相同。不同的是共用体所有成员共享存储空间.unio kkkint a;float b;kka;第二十个关键字:const定义为常量. 例: const int a; /变量a的值不能被改变.第二十一个关键字:unsigned定义为无符号的变量. 默认变量都为有符号的.除非显示的声明为unsigned的.第二十二个关键字:for循环语句.可以指定程序循环多少次. 例: for (int i=0;i5;i+)printf(程序将输出5次这段话!);第二十三个关键字:signed将变量声明为有符号型. 默认变量就为signed 型。一般可省略。第二十四个关键字:void空类型. 一般用于声明函数为无返回值或无参数。第二十五个关键字:default用于在switch语句中。定义默认的处理. 用法见switch。第二十六个关键字:goto无条件循环语句. 例: int i=1;w_go:i+;if (i5)goto w_go;elseprintf(%d,i); 第二十七个关键子字:sizeof用来获取变量的存储空间大小.第二十八个关键字:volatile将变量声明为可变的. 用法 volatile int a; 具体用法还是不太明白。标记.!第二十九个关键字:do一般与while语句 配合使用. 构成的形式如 do while 或while do .例见while语句。 第三十个关键字: while循环控制语句。 只要表达式为真就一直循环. 第三十一个关键字:else常用来配合if一起使用。第三十二个关键字:short用于声明一个短整型变量: 例: short int aaccess 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过程
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!