三部排序
来源:互联网 发布:淘宝用的上下架软件 编辑:程序博客网 时间:2024/06/09 23:59
但实际应用时,经常会或多或少有一些特殊的要求。我们没必要套用那些经典算法,可以根据实际情况建立更好的解法。
比如,对一个整型数组中的数字进行分类排序:
使得负数都靠左端,正数都靠右端,0在中部。注意问题的特点是:负数区域和正数区域内并不要求有序。可以利用这个特点通过1次线性扫描就结束战斗!!
#include<stdio.h>
void fun(int x[], int len)
{
int p = 0;
int left = 0;
int right = len-1;
int t;
while(p<=right){
if(x[p]<0){
t = x[left];
x[left] = x[p];
x[p] = t;
left++;
p++;
}
else if(x[p]>0){
int t = x[right];
x[right] = x[p];
x[p] = t;
right--;
}
else{
p++;
}
}
}
int main()
{
int n;
scanf("%d",&n);
int a[n] ;
int i;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
fun(a,n);
for(i=0;i<n;i++)
printf("%d ",a[i]);
}
- 三部排序
- 三部排序
- 三部排序
- 三部排序
- 三部排序
- 三部排序
- 三部排序
- 三部排序
- 三部排序
- 三部排序
- 三部排序
- 三部排序
- 三部排序 - 蓝桥杯
- 标题:三部排序
- 1006-三部排序
- 2013 三部排序
- 标题:三部排序
- 第四届蓝桥杯三部排序
- 【LeetCode】 292. Nim Game
- 基于TI-RTOS的CC2650DK开发(17)---支持模块
- 【hpuoj】天平平衡
- 第1章 形成Becoming
- C语言实验——大小写转换
- 三部排序
- 【hpuoj】KACA的数字排序
- bzoj 2463: [中山市选2009]谁能赢呢? (博弈)
- javascript : spket 视频教程
- 如何写出优美的 C 代码
- 多功能按键
- uva11916 Emoogle Grid
- 与人沟通的说话技巧
- 操作系统(笔记)