排序算法、
描述
由小到大输出成一行,每个数字后面跟一个空格。
输入
三个整数
输出
输入三个整数,按由小到大的顺序输出。
输入样例 1
2 3 1
输出样例 1
1 2 3
输入样例 2
4 5 2
输出样例 2
2 4 5
代码一(如下):简单判断
#include <iostream>
using namespace std;
int main()
{int a, b, c;cin >> a >> b >> c;int t=0;if (a > b){t = a;a = b;b = t;}if (a > c){t = a;a = c;c = t;}if (b > c){t = b;b = c;c = t;}cout << a <<" "<< b<<" " << c;return 0;
}
代码二(如下):冒泡排序
#include <iostream>
using namespace std;
int main()
{int a[3];int i;for (i = 0; i < 3; i++){cin >> a[i];}for (i = 0; i < 2; i++)for (int j = 0; j < 2 - i; j++){if (a[j] > a[j + 1]){int t = a[j];a[j] = a[j + 1];a[j + 1] = t;}}for (i = 0; i < 3; i++){cout << a[i] << " ";}return 0;
}
代码三(如下):选择排序
#include <iostream>
using namespace std;
int main()
{int a[4];int i, j, k, t;for (i = 1; i < 4;i++){cin >> a[i];}for (i = 1; i < 3; i++){k = i;for (j = i+1; j < 4 ; j++){if (a[k] > a[j]){k = j;} }t = a[k];a[k] = a[i];a[i] = t;}for (i = 1; i < 4; i++){cout << a[i] << " ";}return 0;
}
代码四(如下):指针
#include <iostream>
using namespace std;
int main()
{void exchange(int*, int*, int*);int a, b, c, * p1, * p2, * p3;cin >> a >> b >> c;p1 = &a; p2 = &b; p3 = &c;exchange(p1, p2, p3);cout << a << " " << b << " " << c;return 0;
}
void exchange(int* p1, int* p2, int* p3)
{void swap(int*, int*);if (*p1 > *p2)swap(p1, p2);if (*p1 > *p3)swap(p1, p3);if (*p2 > *p3)swap(p2, p3);
}
void swap(int* a, int* b)
{int t;t = *a;*a = *b;*b = t;
}
问题点:
①:程序经过编译以后已经将变量名转换为变量的地址,对变量值的存取都是通过地址进行的。
②:由于通过地址能找到所需的变量单元,因此可以说,地址指向该变量单元。因此将地址形象化地称为“指针”,意思是通过它能访问以它为地址的内存单元。一个变量的地址称为该变量的指针。
③:如果有一个变量是专门用来存放地址(即指针)的,则它称为指针变量。指针变量的值(即指针变量中存放的值)是地址(即指针)。
④:用指针变量来指向另一个变量。为了表示指针变量和它所指向的变量之间的联系,在C++中用“*”符号表示指向,“*”为指针运算符(或称间接访问运算符)
每一个指针变量分配4字节的存储空间。对指针变量必须将它定义为指针变量。
如:int *a,*b; //定义指针变量a,b
该例子中所定义的指针变量是指向整型数据的指针变量。这个int就是指针变量的基类型,就是指针变量指向的变量类型。
定义指针变量的一般形式为:基类型 *指针变量名。“*”不是指针变量名的一部分。在变量名前加一个“*”表示该变量时指针变量。
只需要把被指向的变量的地址赋给指针变量就可以使一个指针变量指向另一个变量,
如:a=&i; //将变量i的地址存放到指针变量a中,“&”是取地址运算符
⑤:在定义指针变量时必须指定基类型,不同类型的数据在计算机系统中的存储方式和所占的字节数是不相同的。指针变量是基本类型派生出来的类型,它不能离开基本类型而独立存在。
⑥:不能用一个整数给一个指针变量赋值。如:int *a=2000;是错误的。
⑦:“&”和“*”两个运算符的优先级别相同,但按自右而左方向结合。
⑧:区分
#include <iostream>
using namespace std;
int main()
{
int* p1, * p2, * p, a, b;
cin >> a >> b;
p1 = &a; p2 = &b;
if (a > b)
{
p = p1; p1 = p2; p2 = p;
}
cout << *p1 << " " << *p2; //a,b从小到大输出,a、b的值未变,p1、p2的指向变了
return 0;
}
#include <iostream>
using namespace std;
int main()
{
int* p1, * p2, a, b;
cin >> a >> b;
p1 = &a; p2 = &b;
if (a > b)
{
int t = *p1;
*p1 = *p2;
*p2 = t;
}
cout << a << " " << b; //a,b从小到大输出,a、b的值改变了,p1、p2的指向未变
return 0;
}
相关文章:
排序算法、
描述 由小到大输出成一行,每个数字后面跟一个空格。 输入 三个整数 输出 输入三个整数,按由小到大的顺序输出。 输入样例 1 2 3 1 输出样例 1 1 2 3 输入样例 2 4 5 2 输出样例 2 2 4 5 代码一(如下)࿱…...
rbd快照管理、rbd快照克隆原理与实现、rbd镜像开机自动挂载、ceph文件系统、对象存储、配置对象存储客户端、访问Dashboard
day04 day04快照快照克隆开机自动挂载ceph文件系统使用MDS对象存储配置服务器端配置客户端访问Dashborad 快照 快照可以保存某一时间点时的状态数据快照是映像在特定时间点的只读逻辑副本希望回到以前的一个状态,可以恢复快照使用镜像、快照综合示例 # 1. 在rbd存…...
vue、vuex、vue-router初学导航配合elementui及vscode快捷键
目录 一、vue资源 1.vue知识库汇总 2.vuejs组件 3.Vue.js 组件编码规范 目标 #目录 #基于模块开发...
Elasticsearch:使用 ELSER 释放语义搜索的力量:Elastic Learned Sparse EncoderR
问题陈述 在信息过载的时代,根据上下文含义和用户意图而不是精确的关键字匹配来查找相关搜索结果已成为一项重大挑战。 传统的搜索引擎通常无法理解用户查询的语义上下文,从而导致相关性较低的结果。 解决方案:ELSER Elastic 通过其检索模型…...
MySQL数据库分库分表备份(shell脚本)
创建目录 mkdir /server/scripts 一、使用脚本实现分库备份 1、创建脚本并编写 [rootlocalhost scripts]# vim bak_db_v1.sh #!/bin/bash ######################################### # File Name:bak_db_v1.sh # Version: V1.0 # Author:Shen QL # Email:17702390000163.co…...
建造者设计模式go实现尝试
文章目录 前言代码结果总结 前言 本文章尝试使用go实现“建造者”。 代码 package mainimport ("fmt" )// 产品1。可以有不同的毫无相关的产品,这里只举一个 type Product1 struct {parts []string }// 产品1逻辑。打印组成产品的部分 func (p *Product…...
创建交互式用户体验:探索JavaScript中的Prompt功能
使用JavaScript中的Prompt功能:创建交互式用户体验 在前端开发中,JavaScript的prompt()函数是一个强大而有用的工具,它可以创建交互式的用户体验。无论是接收用户输入、进行简单的验证还是实现高级的交互功能,prompt()函数都能胜…...
自然语言处理从入门到应用——LangChain:提示(Prompts)-[提示模板:基础知识]
分类目录:《自然语言处理从入门到应用》总目录 语言模型以文本作为输入,这段文本通常被称为提示(Prompt)。通常情况下,这不仅仅是一个硬编码的字符串,而是模板、示例和用户输入的组合。LangChain提供了多个…...
OpenPCDet调试出现的问题
Open3d遇到的问题,解决方案 1.ModuleNotFoundError: No module named ‘pcdet’ 原因:没有编译安装pcdet。 解决:进入openpcdet项目根目录,修改setup.py权限,并编译: sudo chmod 777 setup.py python set…...
【业务功能篇58】Springboot + Spring Security 权限管理 【下篇】
4.2.2.3 SpringSecurity工作流程分析 SpringSecurity的原理其实就是一个过滤器链,内部包含了提供各种功能的过滤器。这里我们可以看看入门案例中的过滤器。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KjoRRost-1690534711077)(http…...
VBA技术资料MF34:检查Excel自动筛选是否打开
【分享成果,随喜正能量】聪明人,抬人不抬杠;傻子,抬杠不抬人。聪明人,把别人抬得很高,别人高兴、舒服了,看你顺眼了,自然就愿意帮你!而傻人呢?不分青红皂白&a…...
spring扩展点
在Spring框架中,有多个扩展点(Extension Point)可用于自定义和扩展应用程序的行为。这些扩展点允许开发人员介入Spring的生命周期和行为,并提供了灵活性和可定制性。以下是一些常见的Spring扩展点: BeanPostProcessor&…...
Skin Shader 使用自动生成的Thickness
Unity2023.2的版本,Thickness 自动化生成,今天测试了一把,确实不错。 1.Render 设置 在Project Settings->Graphics->HDRP Global Settings中 Frame Setting->Rendering->Compute Thickness 打开 2.Layer设置 2.1添加Layer&…...
Docker中的网络
文章目录 网络网桥(bridge)创建网桥接口hostnonecontaineroverlayoverlay底层原理 网络 网桥(bridge) 在Docker中,网桥(Bridge)是一种网络驱动,用于实现Docker容器之间和容器与宿主…...
SRS开源代码框架,协程库state-threads的使用
本章内容解读SRS开源代码框架,无二次开发,以学习交流为目的。 SRS是国人开发的流媒体服务器,C语言开发,本章使用版本:https://github.com/ossrs/srs/tree/5.0release。 目录 SRS协程库ST的使用源码ST协程库测试SrsAut…...
【QT 网络云盘客户端】——登录界面功能的实现
目录 1.注册账号 2.服务器ip地址和端口号设置 3. 登录功能 4.读取配置文件 5.显示主界面 1.注册账号 1.点击注册页面,将数据 输入 到 用户名,昵称,密码,确认密码,手机,邮箱 的输入框中, 点…...
【复盘与分享】第十一届泰迪杯B题:产品订单的数据分析与需求预测
文章目录 题目第一问第二问2.1 数据预处理2.2 数据集分析2.2.1 训练集2.2.2 预测集 2.3 特征工程2.4 模型建立2.4.1 模型框架和评价指标2.4.2 模型建立2.4.3 误差分析和特征筛选2.4.4 新品模型 2.5 模型融合2.6 预测方法2.7 总结 结尾 距离比赛结束已经过去两个多月了。 整个过…...
X - Transformer
回顾 Transformer 的发展 Transformer 最初是作为机器翻译的序列到序列模型提出的,而后来的研究表明,基于 Transformer 的预训练模型(PTM) 在各项任务中都有最优的表现。因此,Transformer 已成为 NLP 领域的首选架构&…...
ubuntu下畅玩Seer(via wine)
第一步:安装wine 部分exe文件的运行需要32位的指令集架构,需要向Ubuntu系统中添加一个新的架构(i386),以支持32位的软件包。因为在64位的Ubuntu系统中,默认情况下只能安装和运行64位的软件。 通过添加i386…...
第五章:Spring下
第五章:Spring下 5.1:AOP 场景模拟 创建一个新的模块,spring_proxy_10,并引入下面的jar包。 <packaging>jar</packaging><dependencies><dependency><groupId>junit</groupId><artifactI…...
无机布防火卷帘门价格怎么算?按尺寸定制,按需报价
无机布防火卷帘门作为建筑防火分区的核心设备,价格一直是工程采购的关注重点。很多用户在询价时,会发现不同厂家的报价差异较大,这是因为无机布防火卷帘门的价格并非按统一单价计算,而是完全根据项目的实际需求定制化核算。 &…...
别再乱用分支了!Flowable四种网关(排他/并行/包容/事件)实战选型指南
Flowable四大网关实战选型:从混乱到精准的决策艺术当你在设计一个请假审批流程时,是否遇到过这样的困惑:部门经理审批后需要同时通知HR和财务,但某些特殊情况下又需要跳过财务直接归档?这种看似简单的业务需求…...
第三幕 御酒掺土,江山为祭
金牌监制,您这一刀改得极其精准,直接把整部戏的格局从“江湖恩怨”拉升到了“家国博弈”的层面!确实,如果只谈慈悲,唐三藏只是个高僧;但如果加上李世民的重托和大唐的国运,他就是一个背负着沉重…...
Arduino PWM转4-20mA工业电流信号:二阶滤波与V/I转换电路设计
1. 项目概述:从PWM到工业标准电流信号在工业自动化、过程控制和传感器领域,4-20 mA电流环是一个几乎无处不在的标准。它用4 mA代表测量值的下限(如0C),20 mA代表上限(如100C),这种设…...
sudo企业级应用【20260525】001篇
文章目录 一、总体设计思路 1️⃣ 设计原则 2️⃣ 日志策略(重点) 二、10 个真实生产场景(含 sudoers 配置) 🔹 Linux 系统管理(3 个) ✅ 场景 1:基础运维(用户 / 权限) ✅ 场景 2:磁盘与文件系统 ✅ 场景 3:网络与防火墙 🔹 云管理(2 个) ✅ 场景 4:云 CLI …...
从入门到实践:EEG公开数据集分类与应用场景全解析
1. EEG公开数据集入门指南刚接触脑电信号分析的研究者,常常会被一个问题困扰:"我应该从哪里获取可靠的EEG数据?"作为一个在这个领域摸爬滚打多年的研究者,我完全理解这种困惑。记得我第一次接触EEG研究时,光…...
华硕笔记本终极性能控制指南:用G-Helper完全替代Armoury Crate
华硕笔记本终极性能控制指南:用G-Helper完全替代Armoury Crate 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zen…...
保姆级避坑指南:在Ubuntu 22.04上搞定ROS2 Humble、PX4与Gazebo的联合仿真(附Empy版本降级)
保姆级避坑指南:Ubuntu 22.04下ROS2 Humble与PX4联合仿真的21个关键陷阱当你在Ubuntu 22.04上第一次尝试搭建ROS2 Humble、PX4与Gazebo的联合仿真环境时,可能会遇到比预期更多的挑战。这不是一个简单的"复制粘贴命令就能完成"的任务——版本冲…...
从零到上机:我的第一个Quest 3空间锚点应用是如何跑起来的(附完整Unity工程)
从零到上机:我的第一个Quest 3空间锚点应用是如何跑起来的(附完整Unity工程)第一次戴上Meta Quest 3时,那种虚拟与现实交织的震撼感至今难忘。但作为开发者,更让我着迷的是如何让虚拟物体在真实空间中"记住"…...
差分隐私GDP机制紧密度量化:从隐私剖面到∆度量的实践指南
1. 差分隐私GDP机制:从理论到实践,如何量化隐私保护紧密度在差分隐私(Differential Privacy, DP)的实际部署中,尤其是在机器学习的隐私保护训练(如DP-SGD)场景里,我们常常面临一个核…...
