C算法:使用选择排序实现从(大到小/从小到大)排序数组,且元素交换不可使用第三变量。

需求:

使用选择排序实现从(大到小/从小到大)排序,且元素交换不可使用第三变量

(异或交换法)

代码实现:

#include <stdio.h>
void maopao(int* array,int len,int(*swap)(int a,int b))
{int i,j;for(i=0;i<len-1;i++){for(j=i+1;j<len;j++){if(swap(array[i],array[j])){array[i] ^= array[j];array[j] ^= array[i];array[i] ^= array[j];}}}
}int asc(int a,int b){return a>b;
}int desc(int a,int b){return a<b;
}void printfArray(int* array,int len)
{int i;for(i=0;i<len;i++){printf("%d",array[i]);}printf("\n");
}int main()
{int array[9] = {5, 9, 3, 1, 2, 8, 4, 7, 6};int len = (sizeof(array)/sizeof(int));int mode;printf("please input mode num (1:asc    2:desc)\n");scanf("%d",&mode);switch(mode){case 1:maopao(array,len,asc);printf("asc:\n");break;case 2:maopao(array,len,desc);printf("desc:\n");break;default:printf("input mode num error!\n");break;}printfArray(array,len);return 0;
}

打印:

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

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

相关文章

【数据结构与算法】two X 树的遍历以及功能实现

前言&#xff1a; 前面我们已经提到过树、二叉树的概念及结构、堆排序、Top-k问题等的知识点&#xff0c;这篇文章我们来详解一下二叉树的链式结构等问题。 &#x1f4a5;&#x1f388;个人主页:​​​​​​Dream_Chaser&#xff5e; &#x1f388;&#x1f4a5; ✨✨专栏:htt…

安全渗透测试网络基础知识之路由技术

#1.静态路由技术 ##1.1路由技术种类: 静态路由技术、动态路由技术 ##1.2静态路由原理 静态路由是网络中一种手动配置的路由方式,用于指定数据包在网络中的传输路径。与动态路由协议不同,静态路由需要管理员手动配置路由表,指定目的网络和下一跳路由器的关联关系。 比较适合…

【智能家居】

面向Apple developer学习&#xff1a;AirPlay | Apple Developer Documentation Airplay AirPlay允许人们将媒体内容从iOS、ipad、macOS和tvOS设备无线传输到支持AirPlay的Apple TV、HomePod以及电视和扬声器上。 网页链接的最佳实践 首选系统提供的媒体播放器。内置的媒体播…

SpringCloud和Kubernetes的区别

又见小道仙&#xff1a; https://blog.csdn.net/Tomwildboar/article/details/129531315 对于SpringCloud在实际项目中并未使用过&#xff0c;只是自学过SpringCloud和SpringCloud Alibaba&#xff0c;也基于学习搭建过demo。 对于Kubernetes&#xff0c;目前这家公司就是使用…

Web APIs——事件监听以及案例

1、事件监听 什么是事件&#xff1f; 事件是在编程时系统内发生的动作或者发生的事情 比如用户在网页上单击一个按钮 什么是事件监听&#xff1f; 就是让程序检测是否有事件产生&#xff0c;一旦有事件触发&#xff0c;就立即调用一个函数做出响应&#xff0c;也称为绑定事…

【RocketMQ集群】Linux搭建RocketMQ双主双从集群

在当今大数据时代&#xff0c;消息队列系统成为了构建高可用、可扩展和可靠的分布式应用的重要组件之一。而Apache RocketMQ作为一款开源的分布式消息中间件&#xff0c;以其高吞吐量、低延迟和可靠性而备受青睐。为了满足大规模应用的需求&#xff0c;搭建RocketMQ集群是一种常…

K8S集群中Node节点资源不足导致Pod无法运行的故障排查思路

K8S集群中Node节点资源不足导致Pod无法运行的故障排查思路 Node节点资源不足可能会产生的故障 故障一&#xff1a;Pod数量太多超出物理节点的限制每一台Node节点中默认限制最多运行110个Pod资源&#xff0c;当一个应用程序有成百上千的Pod资源时&#xff0c;如果不扩容Node节…

基于springboot实现基于Java的超市进销存系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现基于Java的超市进销存系统演示 摘要 随着信息化时代的到来&#xff0c;管理系统都趋向于智能化、系统化&#xff0c;超市进销存系统也不例外&#xff0c;但目前国内仍都使用人工管理&#xff0c;市场规模越来越大&#xff0c;同时信息量也越来越庞大&#x…

Ubuntu 20.04 安装 Docker

大家好&#xff0c;我叫徐锦桐&#xff0c;个人博客地址为www.xujintong.com。平时记录一下学习计算机过程中获取的知识&#xff0c;还有日常折腾的经验&#xff0c;欢迎大家来访。 介绍 Docker容器具有以下三大特点&#xff1a; 轻量化&#xff1a;一台主机上运行的多个Dock…

Weights and Biases使用教程

Weights and Biases使用教程 安装和初始化实验跟踪跟踪指标跟踪超参数可视化模型检查日志 数据和模型版本控制使用Sweeps进行超参数调优数据可视化report Weights and Biases已经成为AI社区中最受欢迎的库之一。该团队在创建了一个平台&#xff0c;使机器深度学习学习工程师能够…

云安全—docker原理

0x00 前言 因为要学习docker相关的检测技术&#xff0c;所以需要对docker的原理进行基本的原因&#xff0c;不求彻底弄懂&#xff0c;但求懂点皮毛&#xff0c;如有不妥之处&#xff0c;还请斧正。 0x01 docker概述 docker起源 docker公司是在旧金山&#xff0c;由法裔美籍…

Java操作Elasticsearch(新增数据)

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

广告掘金全自动挂机项目,单设备30+【软件脚本+技术教程】

广告掘金项目是一种越来越受欢迎的赚钱方式&#xff0c;它通过观看广告视频来获取收益。然而&#xff0c;手动观看每个广告视频可能会耗费大量时间和精力。为了简化操作并提升效率&#xff0c;我们可以利用全自动挂机脚本来完成这一任务。接下来&#xff0c;将为您介绍如何使用…

Type Script的变量类型

Typescript 的重要特性之一就是数据有类型了。 常见的类型如&#xff1a;字符串、数值、布尔等都有了明确的定义。 变量声明的格式 let 变量名:类型 初始值&#xff1b;字符型 let str:string "abc";数值型 数值型也支持不同的进制&#xff0c;用前缀区分 支持 整…

UI设计中设计文章列表左右的思考优漫动游

当我们仔细看APP的文章列表时我们会发现&#xff1a;有些采用的是左文右图;有些采用的则是左图右文。这个时候我们有没有进一步思考过&#xff0c;这两种方式有什么区别呢?各自的优缺点又是什么呢? UI设计中设计文章列表左右的思考   在对比各大APP时&#xff0c;我们会…

PLC单按钮启停算法汇总

单按钮启停在三菱PLC里可以通过简单的取反指令"ALT"实现,西门子PLC如何实现ALT指令,请参考下面文章链接,这篇博客我们汇总常用的单按钮启停实现方法,希望大家读了本篇博客后有所收获。 博途ALT指令 博途S7-1200/1500PLC 取反指令(ALT)-CSDN博客SMART PLC的ALT指…

安卓 实现60s倒计时的CountDownTimer(小坑)

安卓 实现60s倒计时的CountDownTimer&#xff08;小坑&#xff09; 前言一、CountDownTimer 是什么&#xff1f;二、代码示例1.使用2.小坑的点误差及时取消 总结 前言 前段时间写倒计时没有用线程&#xff0c;想换一种实现方式结果踩了个小坑&#xff0c;特此记录。 一、Count…

pymavlink简单使用

环境 windows10 python3.11 pymavlink2.4.40 工具 虚拟串口工具 Virtual Serial Port Driver 6.9 串口/网络调试助手 sscom5.13.1.exe 串口通信 虚拟串口 COM1, COM2 调试助手连接COM2 pymavlink连接COM1 from pymavlink import mavutil import timeconnect mavut…

LabVIEW应用开发——控件的使用(三)

接上文&#xff0c;这篇介绍簇Cluster控件。 LabVIEW应用开发——控件的使用&#xff08;二&#xff09; 1、簇Cluster 1&#xff09;创建 蔟控件又称为组合、集群控件&#xff0c;顾名思义它是一个类似于C语言的结构体的一个数据结构控件。在描述一个对象的时候&#xff0c;…

SpringCloud 微服务全栈体系(三)

第五章 Nacos 注册中心 国内公司一般都推崇阿里巴巴的技术&#xff0c;比如注册中心&#xff0c;SpringCloudAlibaba 也推出了一个名为 Nacos 的注册中心。 一、认识和安装 Nacos 1. 认识 Nacos Nacos是阿里巴巴的产品&#xff0c;现在是SpringCloud中的一个组件。相比Eure…