使用冒泡排序算法对给定的数字列表进行升序排序的C程序
在 C 编程语言中,冒泡排序是最简单的排序技术,也称为交换排序。
冒泡排序过程
-
将第一个元素与列表中的其余元素进行比较,如果它们不按顺序进行交换(交换)。
对列表中的其他元素重复相同的操作列表,直到所有元素都已排序。
算法
下面给出的是一种算法,通过使用冒泡排序技术 -
第 1 步 - 开始
第 2 步 - 获取列表(数组),num
第 3 步− readlist(list,num)
第 4 步− printlist(list,num)
第5步 - bub_sort(list,num)
第6步 - printlist(list,num)
readlist (list, num)
第7步 − 停止
1. for j = 0 to num 2. read list[j].
打印列表(列表,数字)
1. for j =0 to num 2. write list[j].
bub_sort(列表,数字)
1. for i = 0 to num 2. for j =0 to (num – i) 3. if( list[j] > list[j+1]) 4. swapList( address of list[j], address of list[j+1])
swapList( list[j]的地址, list[j+1]的地址)
1. temp = value at list[j] 2. value at list[j] = value at list[j+1] 3. value at list[j+1] = temp
示例
以下是用冒泡排序技术对给定数字列表进行升序排序的C程序
演示
#include <stdio.h> #define MAX 10 void swapList(int *m,int *n){ int temp; temp = *m; *m = *n; *n = temp; } /* Function for Bubble Sort */ void bub_sort(int list[], int n){ int i,j; for(i=0;i<(n-1);i++) for(j=0;j<(n-(i+1));j++) if(list[j] > list[j+1]) swapList(&list[j],&list[j+1]); } void readlist(int list[],int n){ int j; printf("</p><p>Enter the elements: </p><p>"); for(j=0;j<n;j++) scanf("%d",&list[j]); } /* Showing the contents of the list */ void printlist(int list[],int n){ int j; for(j=0;j<n;j++) printf("%d\t",list[j]); } void main(){ int list[MAX], num; printf(" Enter the number of elements </p><p>"); scanf("%d",&num); readlist(list,num); printf("</p><p></p><p>Elements in the list before sorting are:</p><p>"); printlist(list,num); bub_sort(list,num); printf("</p><p></p><p>Elements in the list after sorting are:</p><p>"); printlist(list,num); }
输出
执行上述程序时,会产生以下结果 -
Enter the number of elements 10 Enter the elements: 11 23 45 1 3 6 35 69 10 22 Elements in the list before sorting are: 11 23 45 1 3 6 35 69 10 22 Elements in the list after sorting are: 1 3 6 10 11 22 23 35 45 69
以上是使用冒泡排序算法对给定的数字列表进行升序排序的C程序的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

双曲函数是使用双曲线而不是圆定义的,与普通三角函数相当。它从提供的弧度角返回双曲正弦函数中的比率参数。但要做相反的事,或者换句话说。如果我们想根据双曲正弦值计算角度,我们需要像双曲反正弦运算一样的反双曲三角运算。本课程将演示如何使用C++中的双曲反正弦(asinh)函数,使用双曲正弦值(以弧度为单位)计算角度。双曲反正弦运算遵循以下公式-$$\mathrm{sinh^{-1}x\:=\:In(x\:+\:\sqrt{x^2\:+\:1})},其中\:In\:是\:自然对数\:(log_e\:k)

函数指针技术可提升代码效率和可复用性,具体表现为:提升效率:使用函数指针可减少重复代码,优化调用过程。提高可复用性:函数指针允许使用通用函数处理不同数据,提高程序的可复用性。

rename函数将文件或目录从旧名称更改为新名称。此操作类似于移动操作。因此,我们也可以使用此rename函数来移动文件。此函数存在于stdio.h库头文件中。rename函数的语法如下:intrename(constchar*oldname,constchar*newname);rename()函数的功能它接受两个参数。一个是oldname,另一个是newname。这两个参数都是指向常量字符的指针,用于定义文件的旧名称和新名称。如果文件重命名成功,则返回零;否则,返回非零整数。在重命名操作期间

数据结构和算法是Java开发的基础,本文深入探讨Java中的关键数据结构(如数组、链表、树等)和算法(如排序、搜索、图算法等)。这些结构通过实战案例进行说明,包括使用数组存储分数、使用链表管理购物清单、使用栈实现递归、使用队列同步线程以及使用树和哈希表进行快速搜索和身份验证等。理解这些概念可以编写高效且可维护的Java代码。

如何实现C#中的冒泡排序算法冒泡排序是一种简单但有效的排序算法,它通过多次比较相邻的元素并交换位置来排列一个数组。在本文中,我们将介绍如何使用C#语言实现冒泡排序算法,并提供具体的代码示例。首先,让我们了解一下冒泡排序的基本原理。算法从数组的第一个元素开始,与下一个元素进行比较。如果当前元素比下一个元素大,则交换它们的位置;如果当前元素比下一个元素小,则保持

在解决一些逻辑编程问题时,使用字符串或字符有时非常有用。字符串是字符的集合,字符是1字节数据类型,用于保存ASCII值中的符号。符号可以是英文字母、数字或特殊字符。在本文中,我们将学习如何使用C++检查一个字符是否是英文字母或字母表中的字母。检查isalpha()函数要检查数字是否是字母,我们可以使用ctype.h头文件中的isalpha()函数。这将一个字符作为输入,如果是字母表,则返回true,否则返回false。让我们看看下面的C++实现来了解这个函数的用法。Example的中文翻译为:示

问题实现欧几里得算法来查找两个整数的最大公约数(GCD)和最小公倍数(LCM),并将结果与给定整数一起输出。解决方案实现欧几里得算法求两个整数的最大公约数(GCD)和最小公倍数(LCM)的解决方案如下-求GCD和LCM的逻辑如下-if(firstno*secondno!=0){ gcd=gcd_rec(firstno,secondno); printf("TheGCDof%dand%dis%d",

如何编写自定义PHP数组排序算法?冒泡排序:通过比较和交换相邻元素来排序数组。选择排序:每次选择最小或最大元素并将其与当前位置交换。插入排序:逐个插入元素到有序部分。
