news 2026/7/30 8:08:41

选择排序和冒泡排序的代码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
选择排序和冒泡排序的代码

#include <stdio.h>
void bubble_sort(int arr[], int sz)//冒泡排序
{
int i = 0, j = 0;
for (i = 0; i < sz - 1; i++)
{
for (j = 0; j < sz - 1 - i; j++)
{
if (arr[j] > arr[j + 1])
{
int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
}
void selection_sort(int arr[], int sz)//选择排序
{
int i = 0, j = 0, index = 0;//index是后面元素的最小值的下标
for (i = 0; i < sz - 1; i++)
{
index = i;//假设i的位置就是最小值
for (j = i + 1; j < sz; j++)
{
if (arr[j] < arr[index])
{
index = j;
}
}//出了循环,index一定是最小值的下标
int tmp = arr[i];
arr[i] = arr[index];
arr[index] = tmp;//让最小值和当前值交换,确保前面的是最小的
}
}
void print(int arr[], int sz)//打印整个一维数组
{
for (int i = 0; i < sz; i++)
printf("%d ", arr[i]);
printf("\n");
}
int main()
{
int arr1[] = { 10,9,8,7,6,5,4,3,2,1 };
int sz1 = sizeof(arr1) / sizeof(arr1[0]);
print(arr1, sz1);
bubble_sort(arr1, sz1);
print(arr1, sz1);
printf("\n");
int arr2[] = { 10,9,8,7,6,5,4,3,2,1,0 };
int sz2 = sizeof(arr2) / sizeof(arr2[0]);
print(arr2, sz2);
selection_sort(arr2, sz2);
print(arr2, sz2);
return 0;
}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/30 8:04:15

51单片机I2C协议驱动AT24C64 EEPROM:从时序模拟到工程实践

1. 项目缘起&#xff1a;为什么51单片机读写AT24C64是个“经典”活&#xff1f;搞单片机开发的&#xff0c;尤其是从51入门的&#xff0c;几乎都绕不开I2C总线&#xff0c;而AT24C系列EEPROM就是I2C总线上的“常客”。你可能觉得&#xff0c;不就是读个写个数据嘛&#xff0c;网…

作者头像 李华
网站建设 2026/7/30 7:58:58

STM32CubeIDE动态调试:如何在不复位芯片的情况下诊断运行中程序

1. 项目概述&#xff1a;为什么需要调试正在运行的程序&#xff1f;在嵌入式开发&#xff0c;尤其是STM32这类MCU的项目中&#xff0c;调试器&#xff08;Debugger&#xff09;是我们最亲密的战友。但很多时候&#xff0c;我们面对的场景并非“从零开始”的单步执行。想象一下&…

作者头像 李华
网站建设 2026/7/30 7:58:50

C++核心知识体系构建:从原理到实战的深度复习指南

1. 项目概述&#xff1a;一份C复习题库的诞生与价值最近在整理自己的技术笔记&#xff0c;翻到了几年前为了准备面试和巩固基础而手搓的一份C复习题库。当时市面上资料虽多&#xff0c;但要么过于零散不成体系&#xff0c;要么深度不够只讲皮毛&#xff0c;要么就是纯粹的“八股…

作者头像 李华
网站建设 2026/7/30 7:58:38

UE5游戏上架Epic商店全流程:从打包优化到商店配置实战指南

1. 项目概述&#xff1a;从UE5工程到Epic商店的完整旅程如果你是一个独立开发者或者小型团队&#xff0c;费尽心血用虚幻引擎5&#xff08;UE5&#xff09;打磨出了一款游戏&#xff0c;那么接下来最激动人心也最让人头疼的环节&#xff0c;可能就是把它上架到Epic Games Store…

作者头像 李华
网站建设 2026/7/30 7:57:05

VS与CMake管理的QtQuick项目开发指南

1. 项目概述&#xff1a;VS与CMake管理的QtQuick项目 在Windows平台开发QtQuick应用时&#xff0c;Visual Studio&#xff08;以下简称VS&#xff09;作为主力IDE的情况非常普遍。但当我们面对一个采用CMake组织的QtQuick项目时&#xff0c;很多开发者会遇到"如何正确用VS…

作者头像 李华
网站建设 2026/7/30 7:56:24

UniApp跨端适配实战:从rpx到响应式布局的完整解决方案

1. 项目概述&#xff1a;跨端适配的“一次开发”之痛与解 做UniApp开发的朋友&#xff0c;估计都遇到过这个让人又爱又恨的场景&#xff1a;你精心打磨的页面在手机上跑得丝滑流畅&#xff0c;布局完美&#xff0c;但一旦放到平板或者大屏设备上&#xff0c;瞬间就“露了馅”—…

作者头像 李华