(19)写一个函数,用”起泡法“对输入的10数字符按由小到大顺序排列

article/2025/10/9 13:53:19

用”起泡法“对输入的10数字符按由小到大顺序排列

起泡法:即每一次将相邻两个数进行比较,若符合条件则交换两个数的值。每进行一趟排序,最大的一个数变成最后一个数。以此类推,直至整个数组按照由小到大排列。

举例:现有数组(8 4 3 7 5 6 2 1)
第一趟:4 3 7 5 6 2 1 8
第二趟:3 4 5 6 2 1 7 8
第三趟:3 4 5 2 1 6 7 8
第四趟:3 4 2 1 5 6 7 8
第五趟:3 2 1 4 5 6 7 8
第六趟:2 1 3 4 5 6 7 8
第七趟:1 2 3 4 5 6 7 8

程序分析:由于每一次进行排序后均会产生一个数不用进行比较,因此设置变量k控制不用进行排序的数的个数。由于不确定每一次排序的比较次数,故采用while循环,在循环体中将前一个数与后一个数进行比较。在主函数中输入和输出10个数字。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{void z(int a[10]);int a[10];printf("请输入10个数字:");int i;for (i = 0; i < 10; i++){scanf("%d", &a[i]);}z(a);printf("10个数字从大到小排序为:");for (i = 0; i < 10; i++){printf("%d ",a[i]);}printf("\n");system("pause");return 0;
}
void z(int a[10])
{int i, t, j;i = 0; j = 1;int k;for (k = 0; k <= 9; k++){while (j < 10 - k)//每一趟比较结束后最大的数排到最后,第二次这个数不用进行比较{if (a[i] > a[j])//条件符合,交换二者的值{t = a[i];a[i] = a[j];a[j] = t;}i++;//无论是否符合条件,j、j均自增1j++;}i = 0; j = 1;//重置i,j的值}
}

调试结果:
在这里插入图片描述
呜呜,这个程序真的弄了我好长时间(主要是因为我太菜了)。刚开始的时候只能写出进行第一趟排序的代码,然后想了很久都不知道怎样循环进行每一趟的比较。最后没有办法去网上搜了其他人的代码来看,但是虽然他们的代码调试出来是正确的,却不是我的思路我理解不了一些代码的含义,最后突然恍然大悟,可以设置一个变量k来控制不用进行排序的数的个数(即循环趟数),一下子问题就解决了。终于终于完成啦这个题目!哦耶!


http://chatgpt.dhexx.cn/article/15ilxq4E.shtml

相关文章

G2Plot 折线图表错乱,不按顺序排列

问题描述&#xff1a; 问题&#xff1a;G2Plot 折线图表错乱&#xff0c;不按顺序排列 BUG如图&#xff1a; 原因分析&#xff1a; 问题分析&#xff1a; 在仔细检查了参数值时&#xff0c;分析没有问题的图表的 value 值类型为Number&#xff0c;出问题的是String类型。 有…

输入五个整数,将他们从大到小顺序排列

思路: 将5个整数做成列表,运用 sorted函数将列表元素的值从小到大排序,然后利用切片反转列表元素. a int(input(">> ")) b int(input(">> ")) c int(input(">> ")) d int(input(">> ")) e int(input(&…

matplotlib中柱状图Y轴坐标不按顺序排列问题

背景&#xff1a; 昨天偶然做一个爬取数据&#xff0c;做成直方图的小练习发现&#xff0c;最后出来的图标Y轴并不是按顺序排列&#xff0c;按照老规矩&#xff0c;百度一下&#xff0c;找到了原因&#xff0c;一个低级的问题 import matplotlib.pyplot as plt from matplotl…

R语言ggplot画条形图按照想要的顺序排列

加载所需要的包 library(ggplot2) library(dplyr)创建数据集 Year <- c(rep("2012" , 3) , rep("2013" , 3) , rep("2014" , 3) , rep("2015" , 3) ) Legend <- rep(c("A" , "X" , "E") , 4) C…

已知数组a中的元素已按由小到大顺序排列,以下程序的功能是将输入的一个数插入数组a中,插入后,数组a中的元素仍然由小到大顺序排列

已知数组a中的元素已按由小到大顺序排列&#xff0c;以下程序的功能是将输入的一个数插入数组a中&#xff0c;插入后&#xff0c;数组a中的元素仍然由小到大顺序排列 #include<stdio.h> int main() {int a[10] { 0,12,17,20,25,28,30 };//定义一个长度为10的数组int i,…

Elsevier 模板 Latex参考文献按引用顺序排列

最近排版一篇Elsevier 期刊的论文&#xff0c;在引用参考文献时&#xff0c;遇到了问题&#xff1a; 1.一开始样式用的是模板里面的样式&#xff0c;得到效果是作者名称在文章中出现&#xff0c;如果换作plain&#xff0c;是按照字母的顺序排列的&#xff0c;比较次序为作者&a…

flex布局warp自动换行后按顺序排列

一、现象 <div class"box"><div>1</div><div>2</div><div>3</div><div>4</div><div>5</div><div>6</div><div>7</div></div>1、box&#xff0c; flex布局后 .box …

计算机工作表中按升序排列,表格打乱顺序怎么按顺序排列_怎么把表格内容按顺序排列图文步骤...

Excel表格是我们日常办公常用的工具软件了&#xff0c;使用excel表格处理数据非常的方便高效。有时候我们表格中的数据是打乱了顺序的&#xff0c;我们需要按照顺序排列它们&#xff0c;那么表格打乱顺序怎么按顺序排列呢&#xff1f;别着急&#xff0c;今天小编就针对表格如何…

六种常见的排序算法

一.冒泡排序 冒泡排序就是重复“从序列右边开始比较相邻两个数字的大小&#xff0c;再根据结果交换两个数字 的位置”这一操作的算法。在这个过程中&#xff0c;数字会像泡泡一样&#xff0c;慢慢从右往左“浮”到序列的 顶端&#xff0c;所以这个算法才被称为“冒泡排序”。 …

异常:解决idea一直更新索引的问题

前言 前段时间在用idea的时候&#xff0c;一开始很正常&#xff0c;当我引入其他项目的时候&#xff0c;索引就一直在更新&#xff0c;几个小时过去了&#xff0c;还没有停下来的意思。照着网上搜索来的步骤开始操作(File–>Invalidate Caches/Restart)。好不容易更新索引停…

【Elasticsearch】索引、更新和删除数据

前言 1、使用映射类型来定义同一个索引中的多种文档类型 2、可以在映射中使用的不同字段类型 3、使用预定义的字段及其选项 4、上述这些如何帮助数据的索引、更新和删除 内容 3种类型字段&#xff0c;这些字段是元数据&#xff0c;es会自动管理它们 核心——这些字段包括…

动态更新索引

下一个需要被解决的问题是怎样在保留不变性的前提下实现倒排索引的更新&#xff1f; 答案是: 用更多的索引。 通过增加新的补充索引来反映新近的修改&#xff0c;而不是直接重写整个倒排索引。每一个倒排索引都会被轮流查询到--从最早的开始--查询完后再对结果进行合并。 Ela…

ES索引结构升级-笔记

ES中索引的字段类型是不可修改的&#xff0c;只能是重新创建一个索引并设置好mapping&#xff0c;然后再将老索引的数据复制过去 查看老索引mapping GET /twitter/_mappings创建new索引&#xff0c;并指定mapping PUT /twitter410{"mappings": {"properties&…

深耕ElasticSearch - 动态更新索引

文章目录 1. 建立索引2. 倒排索引的不变性3. 动态更新索引3.1 动态更新索引原理3.2 新增文档3.3 删除和更新文档 1. 建立索引 给定一个文档集合&#xff08;这个集合中的文档是不变的&#xff09;&#xff0c;索引是如何建立起来的呢&#xff1f; 首先在内存里维护一个倒排索…

Solr 新增、更新、删除索引

solr-admin新增索引 [索引中无则新增,有则更新] 第一种方式&#xff1a;在doc标签和field标签中增加权重&#xff08;boost&#xff09;&#xff0c;增加权重后&#xff0c;可以在搜索的时候做权重过滤。 1 2 3 4 <delete> <query> id:"100861"<…

全文索引----solr服务器更新增量索引

上篇文章我们介绍了全量更新solr索引&#xff0c;但是在数据量较大时&#xff0c;频繁的更新索引会消耗系统性能&#xff0c;如果更新频率较低&#xff0c;则会影响短时的数据准确性&#xff0c;所以&#xff0c;更新时间的间隔是个很难界定。增量索引解决了这个问题&#xff0…

解决IDEA一直出现更新索引ideal Updating Indices: Indexing paused问题

前言 小编我将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识&#xff0c;有兴趣的小伙伴可以关注一下&#xff01; 也许一个人独行&#xff0c;可以走的很快&#xff0c;但是一群人结伴而行&#xff0c;才能走的更远&#xff01;让我们在成长的道路上互相学习&…

es 根据索引名称和索引字段更新值

1&#xff1a;指定索引名称和操作指令 instodayorder_new_2022/_update_by_query 2&#xff1a;执行代码 { "script": { "lang": "painless", "source": "if (ctx._source.reserveString_3 null) {ctx._source.reser…

es 修改(更新)索引模板

es 修改(更新)索引模板 es索引模板的好处就不用我多说了&#xff0c;我这里遇到的问题是&#xff0c;如何修改es模板&#xff0c;网上检索的关键词大多是新增/删除模板&#xff0c;我记录一下自己的修改模板操作吧&#xff08;我是在kibana的UI界面进行操作的&#xff09; 1.…