C/C++ 冒泡排序

第一题:排序 4,3,5,2,1从小到大
cpp 复制代码
#include <bits/stdc++.h>   //冒泡排序 
using namespace std; 
int main()
{
	
	int a[5] = {4,3,5,2,1};
	int i,j,tmp;
	for(i=0;i<5;i++)
	{
		for(j=0;j<5-i;j++)
		{
			if(a[j]>a[j+1])
			{
				tmp=a[j];
				a[j]=a[j+1];
				a[j+1]=tmp;
			}
		}
	}
	for(i=0;i<5;i++)
	{
		cout<<" "<<a[i];
	}
	return 0; 
 } 
重要知识点:

(1)交换数值:

cpp 复制代码
			if(a[j]>a[j+1])
			{
				tmp=a[j];
				a[j]=a[j+1];
				a[j+1]=tmp;}

(2) 两个for循环冒泡;

第一题的高阶写法(调用函数):
代码:
cpp 复制代码
#include <bits/stdc++.h>   //冒泡排序 
using namespace std; 
void bubble_sort(int *a,int n)
{
		for(int i=0;i<n-1;i++)
	{
		for(int j=0;j<n-i-1;j++)
		{
			if(a[j]>a[j+1])
			{
			    int	tmp=a[j];
				a[j]=a[j+1];
				a[j+1]=tmp;
			}
		}
	}
}
void printf_a(int *a,int n)
{
		for(int i=0;i<n;i++)
	{
		cout<<" "<<a[i];
	}
}
int main()
{
	
	int a[5] = {4,3,5,2,1};
    bubble_sort(a,sizeof(a)/sizeof(int));
    printf_a(a,sizeof(a)/sizeof(int));
	return 0; 
 } 
重要知识点:

(1)求数组个数:

cpp 复制代码
sizeof(a)/sizeof(int)

(2)调用函数解释(Al)

cpp 复制代码
bubble_sort(a,sizeof(a)/sizeof(int));

这段代码是C语言中的一部分,用于调用一个名为bubble_sort的函数来对一个整数数组a进行冒泡排序。

具体解释如下:

bubble_sort: 这是函数的名称,表示这是一个冒泡排序的函数。

a: 这是传递给函数的数组。

sizeof(a): 这是计算数组a的字节大小。

sizeof(int): 这是计算整数的大小。

sizeof(a)/sizeof(int): 通过这个表达式,我们得到了数组a中元素的数量。

所以,bubble_sort(a,sizeof(a)/sizeof(int));的意思是:调用bubble_sort函数来对数组a进行排序,并传递两个参数给这个函数:数组本身和数组中元素的数量。

相关推荐
牧以南歌〆1 小时前
数据结构<八>链式队列
c语言·数据结构·算法
怎么比啊都是大神2 小时前
关于==null、isEmpty()和StrUtil.isBlank()
java
唐青枫2 小时前
Java Neo4j 实战指南:从图模型、Cypher 到 Spring Boot 关系查询
java
小保CPP2 小时前
OCR C++ Tesseract生成可搜索的pdf
c++·人工智能·ocr·模式识别·光学字符识别
观远数据2 小时前
从离线开发到实时同步:DataFlow如何支撑企业级数据治理闭环
java·windows·microsoft·excel
无相求码2 小时前
数组越界为什么有时候不崩溃?VS2013 下栈上变量的幽灵布局解密
c语言·后端
今天AI了吗3 小时前
Hermes Agent 搭建全流程:从本机试跑到可持续运行的个人 AI Agent
java·人工智能·python·学习·embedding
春卷同学3 小时前
032-关系型数据库在记账应用中的建模与查询优化
java·jvm·数据库
是个西兰花3 小时前
Linux:深入解析Linux线程原理与实现
linux·运维·c++·线程·互斥锁
不平衡的叉叉树3 小时前
Springboot+Mockito简单使用单元测试
java·spring boot·单元测试