目录
冒泡排序过程
算法
示例
输出
首页 后端开发 C++ 使用冒泡排序算法对给定的数字列表进行升序排序的C程序

使用冒泡排序算法对给定的数字列表进行升序排序的C程序

Sep 23, 2023 pm 01:01 PM
c程序 升序排序 冒泡排序

使用冒泡排序算法对给定的数字列表进行升序排序的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中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

C++程序以给定值为参数,找到双曲正弦反函数的值 C++程序以给定值为参数,找到双曲正弦反函数的值 Sep 17, 2023 am 10:49 AM

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

用 C++ 函数指针改造代码:提升效率和可复用性 用 C++ 函数指针改造代码:提升效率和可复用性 Apr 29, 2024 pm 06:45 PM

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

C程序使用rename()函数更改文件名 C程序使用rename()函数更改文件名 Sep 21, 2023 pm 10:01 PM

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

Java数据结构与算法:深入详解 Java数据结构与算法:深入详解 May 08, 2024 pm 10:12 PM

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

如何实现C#中的冒泡排序算法 如何实现C#中的冒泡排序算法 Sep 19, 2023 am 11:10 AM

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

C++程序来检查一个字符是否为字母或非字母 C++程序来检查一个字符是否为字母或非字母 Sep 14, 2023 pm 03:37 PM

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

C程序实现欧几里得算法 C程序实现欧几里得算法 Sep 17, 2023 pm 12:41 PM

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

PHP 数组自定义排序算法的编写指南 PHP 数组自定义排序算法的编写指南 Apr 27, 2024 pm 06:12 PM

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

See all articles