首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C语言中带有NAN、INFINITY和-INFINITY的冒泡排序

是一种排序算法,用于对包含NAN(Not a Number)、INFINITY和-INFINITY的数组进行排序。

冒泡排序是一种简单但效率较低的排序算法,它通过多次遍历数组,比较相邻元素的大小并交换位置,将较大(或较小)的元素逐渐“冒泡”到数组的一端。在冒泡排序中,NAN、INFINITY和-INFINITY被视为特殊值,需要特殊处理。

下面是对带有NAN、INFINITY和-INFINITY的数组进行冒泡排序的示例代码:

代码语言:txt
复制
#include <stdio.h>

void bubbleSort(float arr[], int n) {
    int i, j;
    for (i = 0; i < n-1; i++) {
        for (j = 0; j < n-i-1; j++) {
            if (arr[j] > arr[j+1]) {
                float temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }
}

int main() {
    float arr[] = {1.0, NAN, 5.0, INFINITY, -INFINITY, 3.0};
    int n = sizeof(arr) / sizeof(arr[0]);

    bubbleSort(arr, n);

    printf("Sorted array: ");
    for (int i = 0; i < n; i++) {
        printf("%f ", arr[i]);
    }

    return 0;
}

在上述示例代码中,我们使用了float类型的数组,并通过调用bubbleSort函数对数组进行排序。在比较元素大小时,我们使用了C语言中的比较运算符。由于NAN、INFINITY和-INFINITY是特殊值,它们与其他值的比较结果是不确定的,因此需要特殊处理。

需要注意的是,上述示例代码中没有提及具体的腾讯云产品和产品介绍链接地址,因为冒泡排序算法与云计算领域的产品关系不大,无法直接给出相关推荐。如果您有其他与云计算相关的问题,我将非常乐意为您提供帮助。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C言中naninf使用

本文总结naninf在C语言当中含义、产生判定方法。...得到nan时就查看是否有非法操作; 如果表达式中含有nan,那么表达式结果为nan; 对于NaN实现有两种方式:signaling NaN quiet NaN。...quiet NaN就是即使在计算出现异常情况下也不抛出异常从而中断程序执行、而是将结果表示为一个特殊值, 因此只有在这种情况下NaN宏才被定义; C语言当中inf infinity (linux...注意: +inf大于任何数(除了它自己nan);-inf小于任何数(除了它自己nan); 得到inf时就查看是否有溢出或者除以0; 头文件中,有定义常量DBL_MAX,这个常量表示...参考资料: C语言 infnan(http://blog.sina.com.cn/s/blog_8b745a5f01014ifk.html) 20.5.2 Infinity and NaN(http

2.9K30

JavaScript面向对象编程指南 第一、二章知识点整理

类:在面向对象编程中,类(class)是对象(object)模板,定义了同一组对象(又称 "实例")共有的属性方法 JavaScript与C++或Java这种传统面向对象语言不同,他实际上压根儿就没有类...在传统面向对象语言中,我们一般会这样描述:"我基于Person类创建了一个叫做Bob新对象"。...任何不属于基本类型东西都属于对象。 2.1.2 数字类型可以储存数据包括:正负整数、浮点数、十六进制与八进制数、指数以及特殊数值NaNInfinity、 -Infinity。...2.3.2 Infinity Infinity表示是最大数,-Infinity表示是最小数,任何数除以0结果也为Infinity,不包括0,0除以0得到NaN。...正负Infinity做算术运算得到NaNInfinity与其他任何操作数(即数字类型里除了NaN正负Infinity)执行任何算数运算结果也都等于Infinity

39450

NaNInfinity,nullu

1、NaNInfinity 那先来说说JavaScript数据类型,有Number、字符串、布尔值、对象等等,而NaNInfinity就属于Number类型。...先说说它俩差别: NaN; // NaN表示Not a Number,当无法计算结果时用NaN表示 Infinity; // Infinity表示无限大,当数值超过了JavaScriptNumber...所能表示最大值时,就表示为Infinity 举个栗子: 2 / 0; // Infinity 0 / 0; // NaN 并且NaN有个特例,我们都知道相等运算符有两种:== ===。...但NaN所有的值都不相等,包括它自己: NaN===NaN;  //false; 唯一能判断NaN方法是通过IsNaN()函数: isNaN(NaN); // true 2、nullundefined...在其他语言中,也有类似JavaScriptnull表示,例如Java也用null,Swift用nil,Python用None表示。 (1)null表示"没有对象",即该处不应该有值。

1K60

NaNInfinity,nullundefined

1、NaNInfinity 那先来说说JavaScript数据类型,有Number、字符串、布尔值、对象等等,而NaNInfinity就属于Number类型。...先说说它俩差别: NaN; // NaN表示Not a Number,当无法计算结果时用NaN表示 Infinity; // Infinity表示无限大,当数值超过了JavaScriptNumber...所能表示最大值时,就表示为Infinity 举个栗子: 2 / 0; // Infinity 0 / 0; // NaN 并且NaN有个特例,我们都知道相等运算符有两种:== ===。...但NaN所有的值都不相等,包括它自己: NaN===NaN; //false; 唯一能判断NaN方法是通过IsNaN()函数: isNaN(NaN); // true 2、nullundefined...在其他语言中,也有类似JavaScriptnull表示,例如Java也用null,Swift用nil,Python用None表示。 (1)null表示"没有对象",即该处不应该有值。

1.1K30

关系运算符

通过对xy表达式求值而产生值必须是数字、日期、日期时间、日期时区、持续时间、逻辑值、空值或时间值。否则,"Expression.Error"会引发带有原因代码错误。...当两个操作数都不是 时#nan,运算符根据排序比较两个浮点操作数值,-∞ < -max < ... < -min < -0.0 = +0.0 < +min < ... < +max < +∞其中 min...-∞ +∞ M 名称是-#infinity#infinity。 这种排序显着影响是: 负零正零被认为是相等。...条件逻辑运算符是在类型logical上定义null。如果操作数值不是这些类型,"Expression.Error"则会引发带有原因代码错误。 结果是一个逻辑值。...添加持续时间某种类型datetime值时,结果值具有相同类型。 对于表中所列值以外其他值组合,将"Expression.Error"引发带有原因代码错误。以下各节介绍了每种组合。

98140

JavaScript-算数运算符

上面代码中,由于从左到右运算次序,字符串位置不同会导致不同结果。 除了加法运算符,其他算术运算符(比如减法、除法乘法)都不会发生重载。...他们规则是 所有运算子一律转为数值,再进行相应数学运算。 ? 上面代码中,减法、除法乘法运算符,都是将字符串自动转为数值,然后再运算。...(3)InfinityInfinity 除,结果为 NaN。 ? (4)Infinity 被任何数字除,结果为 Infinity。 ? (5)0 除一个任何非无穷大数字,结果为 NaN。 ?...7.1 语法 运算符: var1 ** var2 7.2 注解 (1)包括 PHP 或 Python 等大多数语言中,都包含幂运算符(一般来说符号是 ^ 或者 **)。...这些语言中幂运算符有着比其他单目运算符(如一元 + 或一元 - )更高优先级。但是作为例外,在 Bash 中,** 运算符被设计为比单目运算符优先级更低。

1.1K40

JavaScript(三)

自增自减操作符 借鉴于 C 语言。有两个版本: 前置以及后置。...如果乘积超过了 ECMAScript 数值表示范围,则返回 Infinity 或 -Infinity 如果有一个操作数是 NaN,则结果是 NaN 如果是 Infinity 与 0 相乘,则结果是 NaN...NaN 如果是零被零除,则结果是 NaN 如果是非零有限数被零除,则结果是 Infinity 或 -Infinity,取决于有符号操作数符号 如果是 Infinity 被任何非零数值除,则结果是...,则在后台调用 Number() 将其转换为数值,然后再应用上面的规则 加性操作符 加法减法这两个加性操作符应该说是编程语言中最简单算术操作符了。...因此,位于 return 语句之后任何代码都永远不会执行。另外,return 语句也可以不带有任何返回值。在这种情况下,函数在停止执行后将返回 undefined 值。

46020

转:冒泡排序算法C#、C++JAVA代码区别

冒泡排序算法C#、C++Java代码基本结构是相同,但是由于语言本身差异,在细节上可能会有所不同。例如,C++代码可能使用指针来操作数组,而C#Java代码则可能使用索引来访问数组。...在语法上,C#Java代码可能更相似,而C++可能更像C语言。...C#冒泡排序算法代码:  using System;  class Program  {      static void Main(string[] args)      {          int...+冒泡排序算法代码:  #include   using namespace std;  int main()  {      int arr[] = {3, 1, 4, 1, 5,...      for (int i = 0; i < n; i++)      {          cout << arr[i] << " ";      }      return 0;  }Java冒泡排序算法代码

14530

JavaScript数值

InfinityInfinity (或 -Infinity)是 JavaScript 在计算数时超出最大可能数范围时返回值。 除以 0(零)也会生成 Infinity。...Infinity 是数:typeOf Infinity 返回 number。 十六进制 :JavaScript 会把前缀为 0x 数值常量解释为十六进制。...【注】一些 JavaScript 版本会把带有前导零数解释为八进制。 对象 :数值可以是对象,但最好不要把数值创建为对象,它会拖慢执行速度。...当使用 === 运算符时,相等数值是不相等,因为 === 运算符需要类型值同时相等。 更糟是两个对象是无法比较。 2....MIN_VALUE 返回 JavaScript 中可能最小数。 NEGATIVE_INFINITY 表示负无穷大(溢出返回)。 NaN 表示非数字值(“Not-a-Number”)。

93620
领券