C++入门算法荷兰国旗
荷兰国旗说的其实是一个二分类问题,就是红、白双球分类,同类要挨着的问题
/* Note:Your choice is C IDE */
#include "stdio.h"
#define MAX 100
//荷兰国旗 传数组 长度
void fun(int a[],int len)
{int head=0,last=len-1,doing=0,t,i;while(doing<=last){if(a[doing]==0){t=a[doing];a[doing]=a[head];a[head]=t;doing++;head++;}else if(a[doing]==1){doing++;}}//输出printf("荷兰国旗分类后如下:\n");for(i=0;i<len;i++){printf("%d\t",a[i]); }
}void main()
{int a[MAX],i;printf("请输入10个元素(红:0 白:1):\n");for(i=0;i<10;i++){scanf("%d",&a[i]); } fun(a,10);
}
它的实现也好理解就是从头开始,遇到希望的值就下一个,遇到要交换的那就换
C++入门算法荷兰国旗相关推荐
- Algorithm:C+语言实现之数组相关算法(和为定值的两个数、和为定值的m个数、荷兰国旗、长度为2n的洗牌算法、任意长度数组的洗牌算法)
Algorithm:C+语言实现之数组相关算法(和为定值的两个数.和为定值的m个数.荷兰国旗.长度为2n的洗牌算法.任意长度数组的洗牌算法) 目录 数组 1.寻找和为定值的两个数 2.和为定值的m个数 ...
- 【Algorithm】算法设计与分析(第二版)- 王红梅 - JAVA / C++实现:3.9 荷兰国旗问题
题目 : 荷兰国旗问题.要求重新排列一个由字符R,W,B(R代表红色,W代表白色,B代表兰色,这都是荷兰国旗的颜色)构成的数组,使得所有的R都排在最前面,W排在其次B排在最后.为荷兰国旗问题设计一个算 ...
- 各种排序算法以及扩展(选择排序,冒泡排序,插入排序,归并排序,最小和问题,堆排序,荷兰国旗问题,快速排序)
文章目录 基础算法一二课 选择排序 冒泡排序 插入排序 判断数据是否在数组中 找满足>=value的最左位置 ^ 异或符号的多用 一.进行交换 二.数组中有一种数出现了奇数次,其他数都出现了偶数 ...
- 算法练习day4——190321(小和、逆序对、划分、荷兰国旗问题)
归并排序快的原因: 后面的排序利用了前面排序的结果!!! 1.小和问题 在一个数组中, 每一个数左边比当前数小的数累加起来, 叫做这个数组的小和. 求一个数组的小和. 例子:[1,3,4,2,5] 1 ...
- 【算法习作】荷兰国旗问题
1.问题描述: 我们将乱序的红白蓝三色小球排列成有序的红白蓝三色的同颜色在一起的小球组.这个问题之所以叫荷兰国旗,是因为我们可以将红白蓝三色小球想象成条状物,有序排列后正好组成荷兰国旗. 2. ...
- 【算法】荷兰国旗问题
本文为博主九师兄(QQ:541711153 欢迎来探讨技术)原创文章,未经允许博主不允许转载. 文章目录 1.概述 2.问题一 2.1 暴力方法 2.2 双指针方法 1.2 问题二(荷兰国旗问题) 1 ...
- [算法系列之十一]荷兰国旗问题
[问题] 现有红白蓝三个不同颜色的小球,乱序排列在一起,请重新排列这些小球,使得红白蓝三色的同颜色的球在一起.这个问题之所以叫荷兰国旗问题,是因为我们可以将红白蓝三色小球想象成条状物,有序排列后正好组 ...
- python单链表实现荷兰国旗问题_这道荷兰旗问题,我面试时遇到三次!
01.题目示例 "荷兰国旗问题" 是计算机科学中的一个经典题目,它是由Edsger Dijkstra提出的.荷兰国旗由红.白.蓝三色组成. 荷兰国旗问题:现在有若干个红.白.蓝三种 ...
- 荷兰国旗问题(分三块)
在说 "荷兰国旗" 问题之前,首先来看一个引例. 给定一个数组arr,和一个数num,请把小于等于num的数放在数组的左边,大于num的数放在数组的右边.要求额外空间复杂度O(1) ...
最新文章
- 【复杂网络】用户画像不应脱离社会关系,谈复杂网络的关键技术和应用实践
- 数据量庞大的分页穿梭框实现
- 大规模运行MongoDB应该知道的10件事
- 通过反射获取无参构造方法并使用
- POS打印机系列之 = 并口
- 床笠行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
- java读取配置文件和获得项目根目录
- android自定义控件动态,GitHub - itrenjunhua/WaveView: Android自定义控件实现动态百分比水波纹效果...
- 【转】context和getApplicationContext()介绍
- Win10(winser2019)关闭驱动数字签名方法
- 西安交大计算机研究生拟录取,西安交通大学2018硕士研究生拟录取名单公示
- allegro元器件对齐
- 微信支付-委托代扣学习资料整理
- 微信趟过运营商的河 还得翻过几座山
- 吃着火锅唱着歌,却被操作系统砸了饭碗,开发者如何反击?
- 股票:巧用均线多头排列选股
- C语言——三位数排序
- 土木/岩土期刊版面费/审稿费统计列表
- 电商-支付-支付流水表与订单表的设计
- 超融合和服务器关系_分析超融合与传统服务器部署的区别
热门文章
- Android高工必备:说说从手机开机到APP启动FrameWork层的整体执行流程
- Juc12_Volatile的可见性、不保证可见性、有序性、使用、内存屏障四大指令StoreStore、StoreLoad 、LoadLoad、LoadStore
- 自动化物料搬运之:连续式与离散式
- Android 警告对话框(实现选择待播放音乐名应用)
- Atcoder dp_q Flowers 数据结构优化dp
- 阿里上线“娱乐宝”试水影视投资 大数据影视野心隐现
- IE浏览器远程代码执行高危漏洞(CVE-2019-1367)
- JS中export怎么用
- 关于异地恋,有人用这么精妙的语言来形容。。。
- 奥地利采用漱口检测方法对抗新冠病毒