【王道数据结构】【chapter8排序】【P360t3】

荷兰国旗问题:设有一个仅由红、白、蓝三种颜色的条块组成的条状序列,存储在一个顺序表中,请编写一个时间复杂度为O(N)的算法,是这些条块按照红、白、蓝的顺序排好,即排成荷兰国旗图案。请完成算法实现:

#include <iostream>
#include <time.h>
#include <stdlib.h>//用1,0,2表示红,白,蓝
int * testArray(int size)
{int *tmp=(int*) malloc(sizeof(int )*size);for(int i=0;i<size;i++){tmp[i]=rand()%3;}return tmp;
}void print(int *tmp,int size)
{printf("the array is:");for(int i=0;i<size;i++) printf("%3d",tmp[i]);puts("");
}void swap(int &x,int &y)
{int tmp=x;x=y;y=tmp;
}void flage_arrange(int *array,int size)
{int l=0,m=0,r=size-1;while(m<=r){while(m<=r&&array[m]==1) swap(array[l],array[m]),l++,m++;while(m<=r&&array[m]==0) m++;while(m<=r&&array[m]==2) swap(array[m],array[r]),r--;}
}
int main() {srand(time(nullptr));int *r1= testArray(10);print(r1,10);flage_arrange(r1,10);print(r1,10);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/501248.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

端侧AI体验再颠覆:70亿参数大模型推理提速70%以上!

随着大数据、云计算、人工智能等技术日新月异&#xff0c;大模型作为人工智能领域的重要成果&#xff0c;正逐步改变着我们的生产与生活。在算力成本、工作效率与安全性等需求的不断增长下&#xff0c;大模型的应用逐渐从云端延伸至边缘端&#xff0c;为各行各业带来前所未有的…

搬运5款小体积,无广告,超实用的软件

​ 大家好&#xff0c;我又来啦&#xff0c;今天给大家带来的5款软件&#xff0c;共同特点都是体积小、无广告、超实用&#xff0c;大家观看完可以自行搜索下载哦。 1.全局鼠标手势——MouseInc ​ MouseInc是一款全局鼠标手势软件&#xff0c;可以通过按住右键滑动鼠标执行各…

vscode连接服务器与FileZilla上传到服务器

https://www.cnblogs.com/qiuhlee/p/17729647.html&#xff08;这个是vscode连接服务器&#xff09; 主机&#xff1a;就是服务器的主机号 使用者名称&#xff1a;比如ALmax的用户名 密码&#xff1a;比如ALmax的密码

用于游戏开发的顶级 PYTHON 框架

一、说明 我们试图用python开发游戏&#xff0c;一旦产生这个念头&#xff0c;就伴随这样一个问题&#xff1a;当今用于构建游戏的领先 Python 框架有哪些&#xff1f;python下&#xff0c;支持游戏开发平台有哪些优势&#xff1f;我们在这篇博文中告诉你。 二、高级游戏平台简…

腾轩科技传媒探讨网络整合营销推广的策略和效果

在当今高度信息化的商业环境中&#xff0c;整合营销推广&#xff08;IMC&#xff09;已经成为了品牌营销策略的核心。它旨在通过多种渠道和平台&#xff0c;将一致、连贯的品牌信息传达给目标受众&#xff0c;从而增强品牌知名度和忠诚度。腾轩科技传媒将深入探讨整合营销推广的…

为什么你制作的画册没有吸引力呢

​在当今竞争激烈的市场环境中&#xff0c;画册作为企业形象和产品宣传的重要工具&#xff0c;其制作质量直接影响着企业的品牌形象和销售业绩。然而&#xff0c;许多企业在制作画册时却发现&#xff0c;自己的画册缺乏吸引力&#xff0c;无法吸引潜在客户的注意力 为什么你制作…

零基础如何快速入门伦敦金交易

伦敦金交易是金融市场中备受关注的一种投资方式。对于想要学习如何炒伦敦金并快速开始交易的人来说&#xff0c;本文将为您提供一份全面而详细的指南。无论您是初学者还是有经验的交易者&#xff0c;本文都将帮助您了解伦敦金交易的基本知识&#xff0c;并提供一些实用的技巧和…

PSO-CNN-LSTM多输入时序预测|粒子群算法优化的卷积-长短期神经网络时序预测(Matlab)——附代码+数据

目录 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 亮点与优势&#xff1a; 二、实际运行效果&#xff1a; 三、算法介绍&#xff1a; 四、完整程序数据分享下载&#xff1a; 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 本代码基于Matlab平台…

jmeter如何请求访问https接口

添加线程组http请求 新建线程组&#xff0c;添加http请求 填入协议&#xff0c;ip&#xff0c;端口&#xff0c;请求类型&#xff0c;路径&#xff0c;以及请求参数&#xff0c;查看结果树等。 然后最关键的一步来了。 导入证书 步骤&#xff1a;获取证书&#xff0c;重新生…

视觉AIGC识别——人脸伪造检测、误差特征 + 不可见水印

视觉AIGC识别——人脸伪造检测、误差特征 不可见水印 前言视觉AIGC识别【误差特征】DIRE for Diffusion-Generated Image Detection方法扩散模型的角色DIRE作为检测指标 实验结果泛化能力和抗扰动 人脸伪造监测&#xff08;Face Forgery Detection&#xff09;人脸伪造图生成 …

电视盒子什么品牌好?资深数码粉强推口碑电视盒子推荐

我对各类数码产品是非常熟悉的&#xff0c;尤其是电视盒子&#xff0c;用过超十五款了&#xff0c;涵盖了各个主流品牌&#xff0c;最近看到很多朋友在讨论不知道电视盒子什么品牌好&#xff0c;我这次要来分享的就是口碑最好的五款电视盒子推荐给各位不懂如何选电视盒子的新手…

vue3中的基本语法

目录 基础素材 vue3的优化 使用CompositionAPI理由 1. reactive() 函数 2. ref() 函数 2.1. ref的使用 2.2. 在 reactive 对象中访问 ref 创建的响应式数据 3. isRef() 函数 4. toRefs() 函数 5. computed() 5.1. 通过 set()、get()方法创建一个可读可写的计算属性 …