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
郑重声明:
本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
我们不承担任何技术及捕鱼10元起上10元下的版权问题,且不对任何资源负法律责任。
如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。
如有侵犯您的捕鱼10元起上10元下的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!