当前位置:首页 > 后端开发 > 正文

c言语刺进排序,浅显易懂C言语刺进排序算法详解

导语:好的,我将为您展现一个C言语完结的刺进排序算法。刺进排序是一种简略的排序算法,它的作业原理是经过构建有序序列,关于未排序数据,在已排序序列中从后向前扫描,找到相应方位并刺进。刺进排序在完结上,一般运用inplace排序(即只需用到O的额定空...

好的,我将为您展现一个C言语完结的刺进排序算法。刺进排序是一种简略的排序算法,它的作业原理是经过构建有序序列,关于未排序数据,在已排序序列中从后向前扫描,找到相应方位并刺进。刺进排序在完结上,一般运用inplace排序(即只需用到O的额定空间),因此在从后向前扫描过程中,需求重复把已排序元素逐渐向后挪位,为最新元素供给刺进空间。

以下是刺进排序算法的C言语完结:

```cinclude

void insertionSort, int nqwe2 { int i, key, j; for { key = arr; j = i 1;

// Move elements of arr, that are greater than key, // to one position ahead of their current position while > keyqwe2 { arr = arr; j = j 1; } arr = key; }}

// A utility function to print an array of size nvoid printArray, int nqwe2 { int i; for printfqwe2; printf;}

// Driver program to test above functionsint main { int arr = {12, 11, 13, 5, 6}; int n = sizeof / sizeofqwe2;

insertionSort; printf; printArray; return 0;}```

在上面的代码中,`insertionSort` 函数承受一个整数数组 `arr` 和数组的长度 `n` 作为参数,然后对数组进行排序。`printArray` 函数用于打印排序后的数组。`main` 函数是一个驱动程序,它创建了一个待排序的数组,调用 `insertionSort` 函数对其进行排序,然后打印出排序后的数组。

您能够将这段代码复制到C言语的编译器中,然后编译并运转,以检查排序作用。

浅显易懂C言语刺进排序算法详解

刺进排序(Insertion Sort)是一种简略直观的排序算法。它的作业原理是经过构建有序序列,将未排序的数据逐渐刺进到已排序序列中,直到悉数刺进完结。本文将具体介绍C言语中的刺进排序算法,包含其原理、完结办法以及优缺点剖析。

一、刺进排序的基本原理

刺进排序的基本思想是将一个记载刺进到现已排好序的有序表中,然后得到一个新的、记载数添加1的有序表。在完结过程中,一般选用“逆序”的方法,即从后向前扫描待排序序列,找到相应方位并刺进。

二、C言语刺进排序的完结

以下是一个简略的C言语刺进排序完结示例,该示例完结了从小到大排序的功用:

```c

include

void insertionSort(int arr[], int len) {

int i, j, key;

for (i = 1; i = 0

免责申明:以上内容属作者个人观点,版权归原作者所有,如有侵权或内容不符,请联系我们处理,谢谢合作!
上一篇:rust抄家,怎么安全高效地掠取别人资源 下一篇:python中split的用法