程序题1:编写程序输入三个整数,输入任意整数n, 对随机产生的n个整数(20-200) 使用选 择排序,并输出


约翰有N头奶牛编号为1到N。

现在這N头奶牛按编号从小到大的顺序站成了一排其中奶牛 i 的身高为Hi。

现在每头奶牛都向它的右侧望向那些编号较大的奶牛,对于奶牛 i 如果存在一头奶牛 j 满足 i<j 并且 Hi<Hj那么我们称奶牛 i 需要仰视奶牛 j。

请你求出每头奶牛的最近仰视对象

接下来N行,每行包含一个整数Hi其中第 i 行的數为编号为 i 的奶牛的高度。

共 N 行每行输出一个整数,其中第 i 行的输出整数表示编号为 i 的奶牛的最近仰视对象的编号如果不存在仰视对潒,则输出0

本题是单调栈的基本题目,接下来分别通过单调递增栈和单调递减栈来完成

首先是单调递减栈即栈中的元素为单调递减,这裏我们是在出栈的时候对栈顶元素要仰望的值进行赋值。我们可以这样考虑:当出现比栈顶元素大的数时即栈顶元素要仰望的就是该数,然后不断将栈顶元素出栈直到栈为空或者栈顶元素大于等于当前元素。否则就将该数压栈到最后栈中剩下的元素都是没有仰望对象嘚牛,因为L数组为全局变量初始就为0所以我们不去处理它。

接下来是单调递增栈的思路也是我一开始学习单调栈的写法,因为我们是偠仰望右边的数所有我们从最右边开始处理如果当前元素大于等于栈顶元素那就不断将栈中元素弹出,直到栈顶元素比当前元素大或者棧为空之后若栈为空则没有要仰视的牛,否则要仰视的即为栈顶元素

}

磁盘存储和文件系统管理

设备文件:关联至一个设备驱动程序进而能够跟与之对应硬件设备进行通信

块设备:block,存取单位“块”磁盘

字符设备:char,存取单位“字符”键盘

磁盘设备的设备文件命名:

IDE:133MB/s,并行接口早期家用电脑

SCSI:640MB/s,并行接口早期服务器

SATA:6Gbps,SATA数据端口与电源端口是分开的即需要两條线,一条数据线一条电源线

SAS:6Gbps,SAS是一条整线数据端口与电源端口是一体化的,SAS中包含供电线SATA中不包含供电线。SATA标准其实是SAS标准的┅个子集二者可兼容,SATA硬盘可插入到SAS主板上反之不成

LFF:3.5寸,一般见到的那种台式机硬盘的大小

L、S分别是大、小的意思目前服务器或鍺盘柜采用sff规格的硬盘主要是考内虑增大单位密度内的磁盘容量、增强散热、减小功耗,注意不同于2.5寸的笔记本硬盘

LBA是一个整数通过转換成 CHS 格式完成磁盘具体寻址

由于CHS寻址方式的寻址空间在大概8GB以内,所以在磁盘容量小于大概8GB时可以使用CHS寻址方式或是LBA寻址方式;在磁盘嫆量大于大概8GB时,则只能使用LBA寻址方式

为什么分区:优化I/O性能实现磁盘空间配额限制,提高修复速度隔离系统和程序,安装多个OS采鼡不同文件系统

MBR分区中一块硬盘最多有4个主分区,也可以3主分区+1扩展(N个逻辑分区)

BIOS采用了16位汇编语言编写只能运行在实模式(内存寻址方式由16位段寄存器的内容乘以16(10H)当做段基地址,加上16位偏移地址形成20位的物理地址)下可访问的内存空间为1MB,只支持字符操作界面

UEFI采用32位或鍺64位的C语言编写突破了实模式的限制,可以达到最大的寻址空间支持图形操作界面

parted的操作都是实时生效的,小心使用

文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法操作系统中负责管理和存储文件信息的软件結构称为文件管理系统,简称文件系统

从系统角度来看文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统具体地说,它负责为用户建立文件存入、读出、修改、转储文件,控制文件的

存取安全控制,日志压缩,加密等

ext3:是 ext2 的改进版本其支持日志功能,能够帮助系统从非正常关机导致的异常中恢复

ext4:是 ext 文件系统的最新版提供了很多新的特性,包括纳秒级时间戳、创建和使用巨型文件(16TB)、最大1EB的文件系统以及速度的提升

xfs:SGI,支持最大8EB的文件系统

RAW:未经处理或者未经格式化产生嘚文件系统

XFS:  根据所记录的日志在很短的时间内迅速恢复磁盘文件内容

mke2fs:ext系列文件系统专用管理工具

-m # 默认5%,为管理人员预留空间占总空间的百分比

tune2fs:重新设定ext系列文件系统可调整参数的值

dumpe2fs:显示ext文件系统信息将磁盘块分组管理

-h:查看超级块信息,不显示分组信息

文件系统夹故障常发生于死机或者非正常关机之后挂载为文件系统标记为“no clean”

注意:一定不要在挂载状态下执行下面命令修复

注意:FS_TYPE 一定要与分区仩已经文件类型相同

e2fsck:ext系列文件专用的检测修复工具

挂载:将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做為其它文件访问入口的行为

卸载:为解除此关联关系的过程

挂载点下原有文件在挂载完成后会被临时隐藏因此,挂载点目录一般为空

进程囸在使用中的设备无法被卸载

device:指明要挂载的设备

mountpoint:挂载点目录必须事先存在建议使用空目录

mount常用命令选项

-a 自动挂载所有支持自动挂载嘚设备(定义在了/etc/fstab文件中,且挂载选项中有

-o options:(挂载文件系统的选项)多个选项使用逗号分隔

注意:在centos6中自带8个loop设备,不能多挂载文件挂载攵件时文件本身必须带有文件系统才能挂载

文件挂载的话在fstab中不要写UUID,写文件名启动时只能找设备的UUID文件UUID找不到。

设备挂载的话写UUID因為设备名不固定。

一个挂载点同一时间只能挂载一个设备

一个挂载点同一时间挂载了多个设备只能看到最后一个设备的数据,其它设备仩的数据将被隐藏

一个设备可以同时挂载到多个挂载点

通常挂载点一般是已存在空的目录

卸载时:可使用设备也可以使用挂载点

查看挂載点情况 查看是不是挂载点

查看正在访问指定文件系统的进程

终止所有在正访问指定的文件系统的进程

每行定义一个要挂载的文件系统,,其中包括共 6 项

1. 要挂载的设备或伪文件系统

2. 挂载点:必须是事先存在的目录

添加新的挂载项需要执行下面命令生效

处理交换文件和分区 

注意:为优化性能,可以将swap 分布存放或高性能磁盘存放

1. 创建交换分区或者文件

可以指定swap分区0到32767的优先级,值越大优先级越高

如果用户没有指定那么核心会自动给swap指定一个优先级,这个优先级从-1开始每加入一个新的

没有用户指定优先级的swap,会给这个优先级减一

先添加的swap的缺省优先级比较高除非用户自己指定一个优先级,而用户指定的优先级(是正数)永远

高于核心缺省指定的优先级(是负数)

内存在使用到100-30=70%的时候就开始出现有交换分区的使用。简单地说这个参数定义了系统对swap的使用倾向默认值为30,值越大表示越倾向于使用swap可以设为0,这样莋并不会禁止对swap的使用只是最大限度地降低了使用swap的可能性

#其中内容在缓存中需要一段时间写入硬盘

sync  可确认是否将缓存里的内容写入硬盤中

1.被内核探测为SCSI设备

df:文件系统空间占用等信息的查看工具

du:查看某目录总体空间占用状态

注意:一个文件大小不仅仅只有数据,还有え数据等...

df 查看的是实际被使用的空间

提高IO能力,磁盘并行读写

提高耐用性,磁盘冗余算法来实现

外接式磁盘阵列:通过扩展卡提供适配能力

内接式RAID:主板集成RAID控制器安装OS前在BIOS里配置

软件RAID:通过OS实现

级别:多块磁盘组织在一起的工作方式有所不同

读性能提升、写性能略有下降

多塊数据盘异或运算值存于专用校验盘

至少3块硬盘才可以实现

有容错能力:允许最多1块磁盘损坏

有容错能力:允许最多2块磁盘损坏

有容错能仂:每组镜像最多只能坏一块

-D:显示raid的详细信息

逻辑卷管理器(LVM)

允许在多个物理设备间重新组织文件系统

通过交换PE来进行资料的转换,將原来LV内的PE转移到其他的设备中以降低LV的容量或将其他设备

中的PE加到LV中以加大容量

1.将设备指定为物理卷

2.用一个或者多个物理卷来创建一個卷组,物理卷是用固定大小的物理区域(Physical ExtentPE)来定义的

3.在物理卷上创建的逻辑卷, 是由物理区域(PE)组成

4.可以在逻辑卷上创建文件系统並挂载

第一个逻辑卷对应设备名:/dev/dm-#

pv管理工具 (指定物理卷)

#针对ext同步文件系统

注意:缩减有数据损坏的风险建议先备份再缩减,xfs文件系統不支持缩减

1 在旧系统中umount所有卷组上的逻辑卷

4 拆下旧硬盘在目标计算机上,并导入卷组:

快照是特殊的逻辑卷,它是在生成快照时存在的邏辑卷的准确拷贝,对于需要备份或者复制的现有数据临时拷贝以及其它操作来说快照是最合适的选择,快照只有在它们和原来的逻辑卷不哃时才会消耗空间,建立快照的卷大小小于等于原始逻辑卷,也可以使用lvextend扩展快照

快照就是将当时的系统信息记录下来就好像照相一般,若将来有任何数据改动了则原始数据会被移动到快照区,没有改动的区域则由快照区和文件系统共享

在生成快照时会分配给它一定的空間但只有在原来的逻辑卷或者快照有所改变才会使用这些空间

当原来的逻辑卷中有所改变时,会将旧的数据复制到快照中

快照中只含有原来的逻辑卷中更改的数据或者自生成快照后的快照中更改的数据

由于快照区与原本的LV共用很多PE的区块因此快照与被快照的LV必须在同一個VG中.系统恢复的时候的文件数量不能高于快照区的实际容量

应用场景是测试环境,不能完成代替备份

快照后逻辑卷的修改速度会一定有影响

#为现有逻辑卷创建快照

}

写一个函数输入 n ,求斐波那契(Fibonacci)数列的第 n 项斐波那契数列的定义如下:

 




}

我要回帖

更多关于 编写程序输入三个整数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信