当前位置: 首页 > news >正文

冒泡排序C++实现

使用动态数组实现: 

#include<bits/stdc++.h>
using namespace std;
void BubbleSort(vector<int>& arr){int n = arr.size();bool swapped;for(int i=0; i<n-1; i++){swapped = false;for(int j=0; j<n-1; j++){if(arr[j]>arr[j+1]){swap(arr[j], arr[j+1]);swapped = true;}}if(!swapped){break;}}
}int main(){int n;cin>>n;vector<int> arr(n);for(int i=0; i<n; i++){cin>>arr[i];}BubbleSort(arr);for(int i=0; i<n; i++){cout<<arr[i]<<" ";}return 0;
}

动态数组+指针实现:  

#include<bits/stdc++.h>
using namespace std;void BubbleSort(vector<int>& arr){int n = arr.size();bool swapped;for(int i=0; i<n-1; i++){swapped = false;// 获取指向当前元素的指针int* ptr = &arr[0];for(int j=0; j<n-i-1; j++){if(*ptr > *(ptr+1)){swap(*ptr, *(ptr+1));swapped = true;}ptr++; // 指针后移}if(!swapped) break;}
}int main(){int n;cin>>n;vector<int> arr(n);for(int i=0; i<n; i++){cin>>arr[i];}BubbleSort(arr);for(int i=0; i<n; i++){cout<<arr[i]<<" ";}return 0;
}

相关文章:

  • Linux系统部署KES
  • MySQL中text,longtext,mediumtext区别
  • CSS设置元素的宽度根据其内容自动调整
  • 如何将数据从 iPhone 传输到 Android?
  • 网页版便签应用开发:HTML5本地存储与拖拽交互实践
  • c++默认类模板参数
  • iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享
  • 黑客利用iMessage零点击漏洞攻击iPhone用户
  • 一文读懂 Docker Compose(白话版)
  • CentOS 7 部署 Samba 使用虚拟用户笔记
  • NLP学习路线图(三十五): 情感分析
  • 8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
  • NLP学习路线图(三十六): 机器翻译
  • 蓝桥杯第十届国B 质数拆分
  • 基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
  • 苍穹外卖--缓存菜品
  • 技术栈RabbitMq的介绍和使用
  • 脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
  • 20250609在荣品的PRO-RK3566开发板的Android13下解决串口可以执行命令但是脚本执行命令异常的问题
  • Qt开发输入法-接Qt 相关 编译流程及交叉编译 部署所遇到的问题总结
  • 网站的推广方案怎么写/优化用户体验
  • 网站建设装修/软文营销经典案例
  • 茂名市建设局网站/最好的bt磁力搜索引擎
  • 基层建设 网站/培训网站推荐
  • 专业网页设计和网站制作公司/注册网站平台要多少钱
  • 怎样建设影视网站/谷歌推广优化