C++数组排序
#include<stdio.h>
#include<stdlib.h>
#include<windows.h> #define SIZE 5 //数组中元素的数量 void swap(int *p1, int *p2) //交换数组中的两个元素
{
int temp = *p1; //创建变量储存元素p1的指针
*p1 = *p2; //将元素p1的指针改为元素p2的指针
*p2 = temp; //将元素p2的指针改为之前存储的元素p1的指针
} int main() //程序从这里开始运行
{
int array[SIZE]; //创建一个数组
printf("未排序数组:\n\n");
for (int i = ; i < SIZE; i++) //遍历数组中所有元素
{
array[i] = rand(); //数组中每个元素赋值为一个随机数
printf("%d\n", array[i]); //输出还未排序的数组中所有元素
}
printf("\n\n按下任意键开始排序");
getchar(); //等待用户响应
system("cls"); //清除所有输出结果 int l = -, u = SIZE - ; //定义我们需要寻找最值并排序的初始区间[0,SIZE]为全集
for (l++; l < u; u--)//遍历已排序区间[0,l]∪[u,SIZE]的补集(即遍历未排序区间)
{//当l >= u时,区间(l,u)为空集,跳出循环
int max = , min = ; //创建用于存储最大值下标和最小值下标的变量
for (int i = ; i <= u; i++) //遍历数组在未排序区间中的所有元素
{
min = array[min]>array[i] ? i : min; //寻找数组在未排序区间中最小值的下标
max = array[max]<array[i] ? i : max; //寻找数组在未排序区间中最大值的下标
}
swap(&array[l], &array[min]); //交换数组在未排序区间中的最小值与数组在未排序区间左端点的值
swap(&array[u], &array[max]); //交换数组在未排序区间中的最大值与数组在未排序区间右端点的值
printf("数组正在排序:\n\n");
for (int i = ; i < SIZE; i++)
{
printf("%d\n", array[i]);
}
system("cls"); //清除所有输出结果
}
printf("排序后数组:\n\n");
for (int i = ; i < SIZE; i++) //遍历排序完后数组中所有元素
{
printf("%d\n", array[i]); //输出排序后的数组中所有元素
}
getchar(); //等待用户响应(防止程序自动退出)
return ;
}
C++数组排序的更多相关文章
- CSharpGL(36)通用的非托管数组排序方法
CSharpGL(36)通用的非托管数组排序方法 如果OpenGL要渲染半透明物体,一个方法是根据顶点到窗口的距离排序,按照从远到近的顺序依次渲染.所以本篇介绍对 UnmanagedArray< ...
- ***PHP 数组排序 +php二维数组排序方法(PHP比较器)
PHP - 一维数组的排序函数 在本节中,我们将学习如下 PHP 数组排序函数: sort() - 以升序对数组排序 rsort() - 以降序对数组排序 asort() - 根据值,以升序对关联数组 ...
- JS二维数组排序组合
需求是这样的:http://q.cnblogs.com/q/29093/ 这里简述一下: 现在有一个不确定长度的数组.比如:var temp=[["Fu","Hai&qu ...
- PHP的数组排序函数
<?php class order{ /** * * 数组排序 * @param array $arr 例如: * array ( array ( 'deskId' => '460646' ...
- Java通过几种经典的算法来实现数组排序
Java实现数组排序 package com.souvc.hibernate.exp; public class MySort { /** * 方法名:main</br> * 详述:Jav ...
- Java实现数组排序
package com.souvc.hibernate.exp; public class MySort { /** * 方法名:main</br> * 详述:Java实现数组排序 < ...
- PHP二维数组排序(list_order)
/** * 对二维数组进行排序 * 模拟 数据表记录按字段排序 * * <code> * @list_order($list, $get['orderKey'], $get['orderT ...
- 数组排序sort()
数组排序sort() sort()方法使数组中的元素按照一定的顺序排列. 语法: arrayObject.sort(方法函数) 参数说明: 1.如果不指定<方法函数>,则按unicode码 ...
- Java Arrays类进行数组排序
排序算法,基本的高级语言都有一些提供.C语言有qsort()函数,C++有sort()函数,java语言有Arrays类(不是Array).用这些排序时,都可以写自己的排序规则. Java API对A ...
- JavaScript自学之数组排序
<html> <head> <title>数组排序</title> <script type="text/javascript" ...
随机推荐
- ckeditor富文本编辑器的基本配置设置:
原文地址:http://blog.csdn.net/wei365456yin/article/details/54618970?locationNum=5&fps=1 1.首先下载ckedit ...
- Win10系列:JavaScript综合实例1
上面几个小节讲解了使用HTML5和JavaScript语言开发Windows 应用商店应用时会用到的一些技术,本小节将前面介绍的知识融合在一起创建一个菜谱应用程序,帮助读者更进一步地理解和掌握这些知识 ...
- dump_stack使用
我们在调试内核时可以用printk打印信息.但有时我们不知道一个函数或者一个模块到底在哪里出了问题.这时我们可以用dump_stack打印信息,查看函数调用关系,找到问题的根源.使用实例: hello ...
- leetcode ----ARRAY TWOSUM
代码的(判断nums[i]或者是target-nums[i]都可以):
- day1-python简介+安装
Python 简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有 ...
- 常见的SQLALCHEMY列类型
常见的SQLALCHEMY列类型.配置选项和关系选项 类型名称 python类型 描述 Integer int 常规整形,通常为32位 SmallInteger int 短整形, ...
- oracle日志相关的表
SELECT * FROM all_objects t where object_name like '%EN_CONCAT_IM%';DBA_HIST_SQLTEXTDBA_HIST_SQLSTA ...
- asp.net MVC之Result过滤器浅析
在asp.net MVC中,每一个Action方法完成之后都会返回一个结果,而我们可以在Result过滤器中根据需要修改这个结果.例如可以根据UserAgent来判断客户端的来源是手机还是PC端,从而 ...
- JDK1.8源码逐字逐句带你理解LinkedHashMap底层
注意 我希望看这篇的文章的小伙伴如果没有了解过HashMap那么可以先看看我这篇文章:http://blog.csdn.net/u012403290/article/details/65442646, ...
- SQL-39 使用索引
题目描述 针对salaries表emp_no字段创建索引idx_emp_no,查询emp_no为10005, 使用强制索引.CREATE TABLE `salaries` (`emp_no` int( ...