数组排序的最简单方法c语言

1. 冒泡排序

冒泡排序是一种简单的排序算法,通过比较相邻元素的大小并交换位置来进行排序。它的思想是每次从数组的起始位置开始,比较相邻的两个元素,如果前一个比后一个大,则交换它们的位置,直到最大元素移动到数组末尾。然后,再从数组的起始位置开始,重复这个过程直到整个数组排序完成。

下面是使用C语言实现冒泡排序的代码示例:


void bubbleSort(int arr[], int n) 
{
    for (int i = 0; i < n-1; i++) 
    {
        for (int j = 0; j < n-i-1; j++) 
        {
            if (arr[j] > arr[j+1])
            {
                // 交换相邻元素
                int temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }
}

2. 插入排序

插入排序是另一种简单且常用的排序算法。它的思想是将数组分为两部分,一部分是已排序的元素,另一部分是待排序的元素。然后,依次将待排序的元素插入到已排序的部分中的正确位置,直到所有元素都被插入到正确的位置。

下面是使用C语言实现插入排序的代码示例:


void insertionSort(int arr[], int n) 
{
    int i, key, j;
    for (i = 1; i < n; i++) 
    {
        key = arr[i];
        j = i - 1;
  
        // 将大于key的元素往后移动
        while (j >= 0 && arr[j] > key) 
        {
            arr[j + 1] = arr[j];
            j = j - 1;
        }
        arr[j + 1] = key;
    }
}

3. 选择排序

选择排序也是一种简单且常用的排序算法。它的思想是每次从数组中选择最小的元素,然后将其与未排序的部分的第一个元素交换位置,以此类推,直到整个数组排序完成。

下面是使用C语言实现选择排序的代码示例:


void selectionSort(int arr[], int n) 
{
    int i, j, minIndex, temp;
    for (i = 0; i < n-1; i++) 
    {
        minIndex = i;
        for (j = i+1; j < n; j++)
        {
            if (arr[j] < arr[minIndex])
                minIndex = j;
        }
        // 交换最小元素和当前位置元素
        temp = arr[minIndex];
        arr[minIndex] = arr[i];
        arr[i] = temp;
    }
}

这篇文章介绍了冒泡排序、插入排序和选择排序这三种最简单的数组排序方法,并给出了使用C语言实现它们的代码示例。在实际开发中,根据输入数据的规模和性质,选择合适的排序算法是很重要的。

本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/cyyfvt.html

郑重声明:

本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。

我们不承担任何技术及版权问题,且不对任何资源负法律责任。

如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。

如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!

(0)
上一篇 2023年7月27日 下午7:12
下一篇 2023年7月27日 下午7:12

猜你喜欢