计算机三级数据库技术考试题型,2016年计算机三级数据库技术考试必记语句:数组排序

副标题:2016年计算机三级数据库技术考试必记语句:数组排序

时间:2023-04-04 13:02:01 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

  (7)数组排序 
  
  变量说明: 
  i和i都是循环变量,同时也是数组b的下标变量,temp是两数转换时的中间变量,以上变量名都可以由考生自定义,而数组b口的名称需要根据题目要求进行命名。另外,变量cnt表示数组中元素的总数,该变量值一般需要计算得到,可参考第(5)点中的相关语句,此处不再重复讲解。 
  表达式含义: 
  在一维数组b口中,通过两个for循环对数组中的每个数进行比较。 
  ①首先,在第一层fbr循环中,循环变量i的值与数组下标的值同步,即都是从0开始,每循环一次,变量值加1,即数组下标值加1,直到读取到倒数第2个元素时,循环结束,注意,因为一维数组的下标值是从0开始的,因此,当数组有cnt元素时,最后一个元素的数组下标值实际等于cnt-1,当i值等于cnt-1的值的时候,将不再执行fbf循环体中的语句。②然后第2层for循环中,循环变量J的起始位置是从上一个循环i值位置的下一位置开始,即i+1的位置开始,在该循环中,i的值始终保持不变,而J的值依次递增加1,直到j值等于元素总数cnt值时结束循环,这样,就能将第i个数与其后面所有的数进行比较。 
  ③最后,通过一个排序语句,对数组中的元素进行升序或降序排序。 
  例如: 
  假设,数组b[5]中的6个数字及顺序为:7、5、8、3、4、6,即:b[0]7,b[1]-5,b[2]=8,b[3]=3,b[4]=4,b[5]=6,按从小大的顺序排序。 
  ①执行流程如下: 
  ●首先执行第一层for循环的第1次循环,i的起始值为0,b[0]7,即b[i]的当前值等于7。 
  ●此时开始执行第二层的for循环,j的起始值为i+1,此时b[j]=b[1]-5。将b[0]和b[1]进行比较,如果b[O]>b[1], 
  则交换两个数的位置,交换位置后b[i]=b[O]=5,b[j]=b[1]=7; 
  ●继续执行第二层for循环,此时,j的值加1,则bD]=b[2]=8,再将bD]与b[i]进行比较,此时b[i]的值小于b[j]的值,不符合判断,两数的位置不变:依次类推,再继续读取b[3]、b[4]、b[5]的值与b[0]的值进行比较,这样,在所有的比较结束后,最小的一个数就排到了b[0]的位置了。 
  ●此时,完成了第一层循环的第1次循环,数组序列为:3、5、7、8、4、6。 
  ②执行第一层for循环的第2次循环时,i的值加1,即b[i]=b[1卜5,此时是从数组的第2个元素开始,然后再执行第二层fi)r循环,j的值从i+1=1+1=2开始,接着比较b[i]和b[j]的大小,按升序排列,根据①中的说明,执行类似的操作,再将b[3]、b[4]、b[5]后面与b[1]比较大小,重新排序,当第一层for循环的第2次循环结束后,数组序列为:3、4、5、7、8、6。 
  ③根据前两个步骤可以看出,在第一层for循环的两次循环结束后,最小的两个数也都按升序的方式排列到最前面了,依次类推,第一层for循环的第3次循环将从数组的第3个元素开始进行判断,最后,在所有的循环结束后,数组序列为:3、4、5、6、7、8。 
  总之,记住一点,在执行两层fbr循环时,只有第二层循环中的所有循环执行完毕,第一层循环才会开始新一轮的循环计算。另外,还要注意的是,只有两个紧接着的或有包含关系的for语句才构成双重循环,如果两个for语句之间有别的语句,则两个for语句是相对独立的,不构成双重循环。

2016年计算机三级数据库技术考试必记语句:数组排序.doc

本文来源:https://www.wddqw.com/4CRx.html