
一、数据重排
1、一般排序
(单击Excel“数据”菜单下的“排序”命令)
例如将学生花名册按“姓名”的笔划排序,可以使用以下方法:
选中排序关键字所在列(或行)的首个单元格,单击Excel“数据”菜单下的“排序”命令,再单击其中的“选项”按钮。选中“排序选项”对话框“方法”下的“笔画排序”,再根据数据排列方向选择“按行排序”或“按列排序”,“确定”后回到“排序”对话框。如果您的数据带有标题行,则应选中“有标题行”(反之不选),然后打开“主要关键字”下拉列表,选择其中的“姓名”,选中排序方式(“升序”或“降序”)后“确定”,表中的所有数据就会据此重新排列。
2、自定义排序
如果您要求Excel按照“校长”、“副校长”、“主任”和“教师”的特定顺序重排工作表数据,这类问题可以用定义排序规则的方法解决:
首先单击Excel“工具”菜单下的“选项”命令,打开“选项”对话框中的“自定义序列”选项卡。选中左边“自定义序列”下的“新序列”,光标就会在右边的“输入序列”框内闪动,您就可以输入“校长”、“副校长”、“主任”和“教师”自定义序列了,输入的每个序列之间要用英文逗号分隔,或者每输入一个序列就敲回车。如果序列已经存在于工作表中,可以选中序列所在的单元格区域单击“导入”,这些序列就会被自动加入“输入序列”框。无论采用以上哪种方法,单击“添加”按钮即可将序列放入“自定义序列”中备用。
打开“排序选项”对话框中的“自定义排序次序”下拉列表,选中前面定义的排序规则,其他选项保持不动。回到“排序”对话框后根据需要选择“升序”或“降序”,“确定”后即可完成数据的自定义排序。
三、数值排序
1.RANK函数
RANK函数是Excel计算序数的主要工具,它的语法为:RANK
(number,ref,order),其中number为参与计算的数字或含有数字的单元格,ref是对参与计算的数字单元格区域的绝对引用,order是用来说明排序方式的数字(如果order为零或省略,则以降序方式给出结果,反之按升序方式)。
例如中E2、E3、E4单元格存放学生总成绩,计算学生总分排名的方法是:
在F2单元格内输入公式“=RANK(E2,$E$2:$E$4)”,并下拉填充公式。如果在单元格中输入的公式为“=RANK(E2,$E$2:$E$4,1)”,则计算出的序数按升序方式排列。
2.COUNTIF函数
COUNTIF函数可以统计某一区域中符合条件的单元格数目,它的语法为COUNTIF
(range,criteria)。其中range为参与统计的单元格区域,criteria是以数字、表达
式或文本形式定义的条件。其中数字可以直接写入,表达式和文本必须加引号。
例如,单元格内输入的公式为=COUNTIF($E$2:$E$4,
">"&E2)+1
并下拉填充公式,计算结果也与上面的方法完全相同。
以Word 2003为例,介绍表格中数据排序的两种主要方法:
方法一:使用“表格和边框”工具栏中的“升序排序”和“降序排序”按钮。
1.显示“表格和边框”工具栏,如果上述两个按钮没有显示,在此工具栏后打开“添加或删除按钮”→“表格和边框”,勾选这两项。
2.将插入点移入到要排序的数据列中(任一个单元格中都可以)。
3.单击“升序排序”按钮,该列中的数字将按从小到大排序,汉字按拼音从A到Z排序,行记录顺序按排序结果调整;单击“降序排序”按钮,该列中的数字将按从大到小排序,汉字按拼音从Z到A排序,行记录顺序按排序列结果相应调整。
方法二:使用“表格”菜单中的“排序命令”。
1.将插入点置于要排序的表格中,“表格”→“排序”,打开“排序”对话框。
2.选择“主要关键字”、“类型”、“升序”还是“降序”;如果记录行较多,还可以对次要关键字和第三关键字进行排序设置。
3.根据排序表格中有无标题行选择下方的“有标题行”或“无标题行”。
4.确定,各行顺序将按排序列结果相应调整。
word表格如何求和?
word表格求和需要先用电脑里的word软件打开相关的文件,然后选中需要求和的单元格,点击顶部菜单栏里的布局,再点击公式,选择确定即可。
插入排序(Insertion Sort) 是一种较稳定 简单直观的排序算法 插入排序的工作原理 是通过构建有序序列 对于未排序的数据 在有序序列中从后向前扫描 找到合适的位置并将其插入 插入排序 在最好情况下 时间复杂度为O(n)在最坏情况下 时间复杂度为O(n )平均时间复杂度为O(n )
插入排序示例图
/**
* 数据结构与算法(PHP实现) - 插入排序(Insertion Sort)。Tw.WiNGwit
*
* @author 创想编程(TOPPHP.ORG)
* @copyright Copyright (c) 2013 创想编程(TOPPHP.ORG) All Rights Reserved
* @license /licenses/mit-license.php MIT LICENSE
* @version 1.0.0 - Build20130613
*/
class InsertionSort {
/**
* 需要排序的数据数组。
*
* @var array
*/
private $data
/**
* 数据数组的长度。
*
* @var integer
*/
private $size
/**
* 数据数组是否已排序。
*
* @var boolean
*/
private $done
/**
* 构造方法 - 初始化数据。
*
* @param array $data 需要排序的数据数组。
*/
public function __construct(array $data) {
$this->data = $data
$this->size = count($this->data)
$this->done = FALSE
}
/**
* 插入排序。
*/
private function sort() {
$this->done = TRUE
for ($i = 1$i <$this->size++$i) {
$current = $this->data[$i]
if ($current <$this->data[$i - 1]) {
for ($j = $i - 1$j >= 0 &&$this->data[$j] >$current--$j) {
$this->data[$j + 1] = $this->data[$j]
}
$this->data[$j + 1] = $current
}
}
}
/**
* 获取排序后的数据数组。
*
* @return array 返回排序后的数据数组。
*/
public function getResult() {
if ($this->done) {
return $this->data
}
$this->sort()
return $this->data
}
}
?>
示例代码 1
2
3
4
$insertion = new InsertionSort(array(9, 1, 5, 3, 2, 8, 6))
echo '
', print_r($insertion->getResult(), TRUE), '
'lishixinzhi/Article/program/PHP/201311/20783
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)