C 二维数组、冒泡排序

11.冒泡排序和二维数组 带你走进冒泡排序,Arrays类的使用以及二维数组的世界。 阅读详情

有一段时间没学c,有点生疏了

今天主要学了二维数组和冒泡排序

1、二维数组

如果说一维数组就是一条线,那么二维数组就是一个面,其格式为arr[x][y],其中的x和y分别对应行和列,初始化时可以把全部元素写在一行,程序会自动从上到下放进数组,不够的会初始化为0

arr[3][4] = { 1,2,3,4,5,6,7,8,9,10,11,12 };
arr[3][4] = { {1,2,3,4},{5,6,7,8},{9,10,11,12} };
arr[3][4] = { {1,2,3,4},{5,6,7,8},{9,10} };
//上面三种都可以

arr[][4]
//格式正确,可以不写几行,但有几列一定要写
二位数组的调用方法和在内存中的储存

数组越界:数组的下标大于n+(编译器不一定报错,但是会影响程序运行)

2、冒泡排序

简单说就是相邻两个数对比,然后交换位置

 重复多次,最后得到一个特定顺序

#include<stdio.h>

void bubble_sort(int arr[])//此处的[]不能省
{
	int ii = 0;
	for (; ii <= 9; ii++)
	{
		int i = 0;
		for (; i <= 8 - ii; i++)//注意此处不要数组越界
		{
			if (arr[i] > arr[i + 1])
			{
				int a = arr[i];
				arr[i] = arr[i + 1];
				arr[i + 1] = a;
			}
		}
	}
}

int main()
{
	int arr[10] = { 0 };
	int i = 0;
	for (; i <= 9; i++)
	{
		scanf("%d", &arr[i]);
	}
	bubble_sort(arr);//冒泡排序,将数从小到大排序
	for (i = 0; i <= 9; i++)
	{
		printf("%d ", arr[i]);
	}
	return 0;
}

这是用冒泡排序写的对输入的10个数进行从小到大排序的代码

C 二维数组排序 题目:将二维数组中的每一行进行排序,第一行是整个数组中最小值所在行,第二行是整个数组除第一行的最小值所在行,依次类推。 分析:通过一个参数是二维数组的搜索函数,寻找每次从第n行开始数组中的最小值,并且返回最小值所在行 程序如下: #include #include #include int search(int  arr[][5], int n);//查找数组中最小值的函数 in 阅读详情

相关推荐

【C编程】对一个二维数组中的数据排序

/*对一个二维数组中的数据排序,方法如下: 将整个数组中值最小的元素所在行调整为数组第一行, 将除第一行外的行中最小元素所在行调整为第2行, 将除第1,2行外的行中最小值元素所在行调整为第3行,以此类推 */ #include #define N 10 void change(int (*a)[N],int row,int line) { int m = 0;

qq_38076413的博客 2767

C语言 二维数组排序

c语言 二维数组排序

qq_20224859的博客 3944

c语言二维数组冒泡排序

将二维数组看成一维数组进行冒泡排序 int (*p)[5],是行指针 int *p是int单元的列指针 #include<stdio.h> int main() { int i=0; int j=0; int tmp; int arr[3][5]= {99,98,97,96,95,94,93,92,91,90,89,87,86,84,21}; int *p=0; p=arr;//列指针=行指针 int max=arr[0][0]; .

weixin_44876693的博客 2378

冒泡排序的介绍,以及对二维数组进行排序

文章目录一、冒泡排序的简单介绍二、用冒泡排序对二维数组进行排序方法一方法二 一、冒泡排序的简单介绍 冒泡排序(英语:Bubble Sort)又称为泡式排序,是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 具体步骤如下: 比较相邻的元素。如果第一个比第二个大,就交换它们两个。 对每一对相邻元素作同样的工作,

m0_48087498的博客 5289

C#实现的二维数组排序算法示例

主要介绍了C#实现的二维数组排序算法,涉及C#针对二维数组的遍历、判断、排序等相关操作技巧,需要的朋友可以参考下

Ubuntu中交叉编译armadillo库

网上关于交叉编译armdillo库比较少,借鉴了一些但是在前几天编译时总是磕磕绊绊,于是写一个详细的编译过程。交叉编译armdillo库包含两个步骤:交叉编译依赖库和交叉编译armdillo库。

weixin_39813867的博客 1879

二维数组的冒泡排序(C语言篇)

我也不知道我为什么要写这种,我也就是想写就写了(俗称闲的蛋疼) C语言二维数组的冒泡排序 写二维数组的冒牌排序前,让我们再来简单的过一遍熟悉的不能再熟悉的一维数组的冒泡排序: 1、一维数组冒泡 1.在这里我自己总结了一个冒泡小公式(基本上C语言的冒泡排序都可以用这个公式来完成): int a[n]; //“n”值可以进行替换 for (int i = 0; i < n; i++) { ...

weixin_45626617的博客 2万+

用AI免费制作30分钟电影:完整工作流与实操解析

AI视频生成技术正大幅降低影视创作门槛,但真正制作一部完整电影并非一键生成,而是涉及剧本、分镜、画面、配音、剪辑的复杂流水线。理解其基本原理,是将文本转化为连续视觉叙事的关键。对于创作者而言,掌握角色一致性控制、素材批量管理、免费额度合理分配等技术价值,能有效避免生成结果崩坏与资源浪费。该能力可广泛应用于短视频创作、独立电影预演、教学演示等场景。本文以30分钟AI电影制作为例,拆解从工具选择到成片输出的全流程,重点分析免费方案下的时间与积分成本,以及最容易翻车的环节,并给出基于实践验证的排查与优化策略。

weixin_29056865的博客 326

二维数组冒泡排序算法(C语言实现)

对二维数组 进行冒泡排序,并寻找二维数组中的最大值。 #include&amp;lt;stdio.h&amp;gt; #include&amp;lt;stdlib.h&amp;gt; int main() { //找出二维数组中最大的元素 int nums[5][5] = { { 6, -5, 9, 12, 11}, {10, -1, 0, 3, -2}, { 4, 7, ...

这里是博客 2万+

【eNSP 华为模拟器】小型校园网模拟环境的设计与配置(附eNSP源文件)

【eNSP 华为模拟器】小型校园网模拟环境的设计与配置 一、实验概述 二、交换机的配置 2.1 二层交换机的配置 2.2 三层交换机的配置 三、路由器的配置 四、实验结果 五、实验总结 一、实验概述 按照以下的拓扑连接,自行设计VLAN和IP地址等网络参数,实现PC1到PC2的IP通信。其中,R1,R2为路由器;LSW1,LSW4为3层交换机;LSW2,LSW3 ,LSW6, LSW7为2层交换机;CLIENT1-CLIENT12为PC机。 拓扑图 课程设计要求:(1)IP地址自行规划设计,应该清晰地

qq_43757282的博客 4万+

JSAPI微信支付(小程序)V3版本JAVA代码实战源码

1.1、商户通过JSAPI/小程序下单接口获取到发起支付的必要参数prepay_id后,再通过微信小程序调起微信支付收银台JSAPI/小程序下单_JSAPI支付|微信支付商户文档中心1.3、微信H5发起类似,结合文档,细微调整,前端返回类似,参考文档修改为微信内置浏览器调起支付即可。

java web 706

C二维数组冒泡排序

#include  int main()  {   int a[2][3]={6,5,4,3,2,1}; //注释内容为当二维数组为a[x][y]后要变的内容  int i,j,k,m,n,temp;   for(i=0;i      for(k=1;k   for(i=0;i   {   n=i+1;   m=0;   }   else    {   n=i;   m=j+1;   }   if

风情路96号 1089

Qt:一个强大而灵活的跨平台应用程序开发框架

代码示例中的源代码是简单的示例,用于演示Qt框架的一些基本特性。实际应用中,开发人员可以根据自己的需求和项目要求,使用Qt框架提供的丰富功能和组件进行开发。在Qt的官方文档和示例代码中,您可以找到更多详细的教程和示例,以帮助您更好地理解和使用Qt框架。它提供了丰富的工具和功能,支持跨多个平台进行开发,并具有高度的可定制性和灵活性。它提供了丰富的工具和功能,使得开发人员能够创建高性能、可扩展和易于维护的应用程序。下面将详细介绍Qt框架的优点,并提供一些相关的源代码示例。

CodeVorter的博客 851

C语言-第五章-加餐:冒泡排序与二维数组

上述7个数,第6次冒泡后就已经全部排序好了,这是因为6个数的位置都排好了,那么最后一个数只能在它应该在的位置了,不需要再进行冒泡了。如果再进行一趟冒泡,最大的7又可以不考虑了,以此类推,每进行一趟冒泡,内层循环的次数就可以-1。,所以在函数中用 sizeof(arr) 计算的就是指针的大小(64位平台上为8字节),而不是整个数组的大小。这是因为arr 数组的名字 arr 存放的是首元素地址,相当于一个指针,它的元素顺序是乱的,要让它按照大小顺序排列,就可以使用冒泡排序算法。

2303_78095330的博客 1522

【多模态实验总结】整理了几十篇文章,理清 多模态目标检测 在写论文中需要做哪些实验

此篇文章中将多模态目标检测所做的实验,分成了各个类别,目的是为了对多模态的实验有一个清晰的理解。可以看到,很多表格中放的并不是做了单一的某一个对比,而是将提出的模型,在不同的骨干、数据集上的效果与基线进行对比,使内容更全面。因此这里提到的各种实验,大家在后续改进写论文过程中可以根据自己的论文内容进行整合。对于这里提到的这些文章,大家都可以看看,我只是按照我这里的分类截取了部分实验,这里提到的所有实验在每篇文章中也基本能看到相应的实验。

Limiiiing的博客 3140

中科大大数据学院2023年保研夏令营机试题目【无offer,直接放题了~】(2023.07.22下午14:35-17:35考试)

给定一串数字,最后一个数是0表示结尾,表示数字串的终止,为无效数字。将该数字串存储在双向链表中,判断是否为回文串,若是,则输出Yes,否则输出No.

m0_51339444的博客 1922

C语言之一维数组、二维数组冒泡排序

一维数组排序 #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #include&lt;time.h&gt; int main() { int n,temp; int a[100]; srand(time(NULL)); for(int i=0;i&lt;100;i++) { n=rand()%100; a[i]...

Bily_on的博客 1061

深度学习图神经网络 (GNN) —— 处理图结构数据(六十九)

本文系统介绍了图神经网络(GNN)的核心概念、主流模型及其应用。主要内容包括: GNN基础:阐述了图结构数据的特性(节点数不定、连接不规则),以及GNN相比CNN/RNN的优势在于处理非欧式空间的图数据。 核心机制:重点讲解了消息传递框架(MPNN),通过聚合邻居信息迭代更新节点表示,并分析了GCN的归一化邻接矩阵计算和GAT的注意力权重机制。 典型模型: GCN:基于归一化邻接矩阵的特征传播 GAT:引入注意力机制区分邻居重要性 GraphSAGE:通过采样解决大图扩展性问题 GIN:理论表达能力最强的图

hello.reader 300

c语言二维数组冒泡排序法,二维数组冒泡排序算法(C语言实现)

对二维数组进行冒泡排序,并寻找二维数组中的最大值。#include#includevoid main(void){//找出二维数组中最大的元素int nums[5][5] = {{ 6, -5, 9, 12, 11},{10, -1, 0, 3, -2},{ 4, 7, 8, 7, 5},{13, 5, -8, -13, 9},{11, 22, 19, 14, 19}};...

weixin_39668571的博客 1351

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【C语言数组】一、二维数组&冒泡排序

目录1. 一维数组的创建和初始化1.1 一维数组的创建1.2 数组的初始化1.3 一维数组在内存中的存储2. 二维数组的创建和初始化2.1 二维数组的使用2.2 二维数组在内存中的存储3. 数组越界4. 数组作为函数参数总结 1. 一维数组的创建和初始化 如果说想要定义10个相同类型的变量,单个定义的话会太麻烦,因此下面就引出了数组的概念。 1.1 一维数组的创建 数组是一组相同类型元素的集合。 数组的创建方式: type_t arr_name [const_n]; //type_t 是指数组的元

weixin_66672501的博客 7717

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

冒泡排序的c语言 用数组,C语言之一维数组、二维数组冒泡排序

一维数组排序#include#include#includeint main(){int n,temp;int a[100];srand(time(NULL));for(int i=0;i<100;i++){n=rand()%100;a[i]=n; //生成100个0-100的随机数}for(int i=0;i<100;i++){for(int j=0;j...

weixin_30798713的博客 229

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

C语言中二维数组怎样使用冒泡法,C语言怎样在二维数组里每行进行冒泡排序?...

用户提问#includevoid main(){inta[3][5]={{23,5,71,10,4},{39,23,7,85,-9},{36,12,52,-8,47}};printf("输入数组:\n");int i,j,k,s,d;for(i=0;i<3;i++)for(j=0;j<5;j++){for(d=i;d<3;d++)for(s=j;s<5;s++){if(a[...

weixin_39531183的博客 368

C语言 | 第十三章 | 二维数组 冒泡排序 字符串指针 断点调试

基本介绍:用来存放字符的数组称为字符数组, 看几个案例。char a[10];//一维字符数组, 长度为10//二维字符数组, 后面我们详细介绍二维数组// 给部分数组元素赋值总结:字符数组实际上是一系列字符的集合,也就是字符串(String)。在C语言中,没有专门的字符串变量,没有string类型,通常就用一个字符数组来存放一个字符串。// c是一个一维字符数组,给部分元素赋值// 输出// 输出tomgetchar();在C中,我们常用的查找有两种1) 顺序查找。

ZJC744575的博客 1246

C语言指针2(冒泡排序,指针数组,指针模拟二维数组)

sizeof ( arr ) :这⾥的数组名表⽰的是整个数组,比如下面这个代码有10个元素每个元素是int类型,int类型是4个字节,10个元素就是40个字节。这⾥我们使⽤ &arr[0] 的⽅式拿到了数组第⼀个元素的地址,但是其实数组名本来就是地址,⽽且。下面这个代码我们可以看到地址是一样的说明&arr[0]和arr拿到的都是数组首元素的地址。因为传给函数的是数组首元素地址这个地址是int类型int是4个字节。⼀维数组传参,形参的部分可以写成数组的形式,也可以写成指针的形式。

2401_86728907的博客 870

C语言:数组(一维数组,二维数组,数组越界,数组作为函数参量,冒泡排序)

数组是相同类型元素的集合• 数组中可以存放1个或者多个数据• 数组中存放的数据,类型是相同的在C99标准之前,数组的大小必须是常量或常变量在C99之后,数组大小可以是变量,为了支持变长数组(可以指定数组的大小)上面的代码只能在支持C99标准的编译器(比如gcc)上运行。

Alivia_Sophia的博客 1451

C语言之一维二维数组+冒泡排序

一维二维数组+冒泡排序

m0_72858576的博客 193
上一篇: C 迭代
下一篇: C语言实现扫雷(含标记、展开)(含源码)
flashier
博客等级 码龄3年 381粉丝 79原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值