/* 冒泡排序 */
#include<stdio.h>
void BubbleSort (int s[],int n)
{
int i,j,temp=0;
int exchange;
exchange=0;
for(i=0;i<n;i++)
{
for(j=n-1; j > i; j--)
{
if(s[j] < s[j-1]){
temp=s[j];//注意冒泡排序交换的是相邻两个元素
s[j]=s[j-1];
s[j-1]=temp;
exchange=1;
}
}
if(!exchange)
return;
}
}
/* 选择排序 */
void SelectSort(int array[], int n)
{
int i,j,t;
for (i=0;i<n-1;i++)
{
int pos = i;
for (j=i+1;j<n;j++)
{
if (array[j]<array[pos])
{
pos = j;//只是找到位置,并不需要每次都换一下
}
}
//找到位置后才交换,不是交换相邻元素,而是把最小的元素放在s[j]中
t = array[i];
array[i] = array[pos];
array[pos] = t;
}
}
int main()
{
int s[10] = {9,2,8,3,4,1,6,7,5,0};
int n=10;
int i;
SelectSort(s,n);
for(i=0;i<10;i++)
{
printf("%d ",s[i]);
}
getchar();
return 0;
}
分享到:
相关推荐
冒泡排序和选择排序是两种基础的排序算法,在计算机科学中有着广泛的应用,尤其是在学习编程语言如C语言时,理解并能实现这两种排序算法是非常重要的。下面将详细讲解这两种排序方法以及它们在C语言中的实现。 **...
冒泡排序和选择排序是两种基础的排序算法,它们在计算机科学中有着广泛的应用,尤其在教学和理解排序原理时非常关键。这两种算法虽然简单,但在特定情况下可以通过优化提高效率。 首先,我们来详细探讨冒泡排序。...
本篇文章将深入探讨在C#编程语言中实现冒泡排序和选择排序的方法,这两种经典的排序算法在理解和实现上都相对简单,适合初学者入门。 首先,让我们来理解冒泡排序(Bubble Sort)。冒泡排序是一种简单的排序算法,...
### 数据结构中的冒泡排序和选择排序 在计算机科学领域,数据结构是研究的核心之一,而排序算法作为数据处理中最常见的操作,在各种应用场景中都扮演着至关重要的角色。本文将重点探讨两种经典的排序算法——冒泡...
冒泡排序和选择排序是两种基础的排序算法,它们在计算机科学中有着广泛的应用,特别是在理解和教学算法原理时。这两种排序方法都是通过比较数组中的元素来实现排序的,但它们的工作方式有所不同。 **冒泡排序**...
本文将深入探讨两种基础且常见的排序算法:冒泡排序和选择排序。这两种算法都是简单直观的排序方法,但它们在性能和适用场景上有所不同。 **冒泡排序**: 冒泡排序是一种交换排序,通过不断比较相邻元素并交换位置...
冒泡排序和选择排序是两种基础且常见的计算机算法,它们被广泛用于数据处理和排序任务。在编程领域,理解这两种排序算法的原理及其代码实现至关重要,尤其对于初学者和软件/插件开发者。 **冒泡排序(Bubble Sort)...
冒泡排序和选择排序是两种基础的排序算法,它们在计算机科学中被广泛用来组织和整理数据。这两种方法虽然相对简单,但对于理解排序算法的工作原理至关重要。 首先,我们来看看冒泡排序。冒泡排序的基本思想是通过...
冒泡排序和选择排序是计算机科学中两种基本的排序算法,它们在计算机程序设计中扮演着重要的角色。本文将深入探讨这两种排序算法的原理、实现方式以及它们在C语言中的应用。 首先,让我们来理解冒泡排序。冒泡排序...
本笔记包括了冒泡排序与选择排序的一些基本过程与相同点与不同点的比较,例如,冒泡排序与选择排序的算法讲述,对学c的新手十分友好,本人愚笨,如有看不懂,请见谅。
例如,冒泡排序和选择排序适合小规模数据,而快速排序和归并排序则适用于大规模数据。在实际应用中,应根据具体需求和数据特性选择合适的排序算法。学习和理解这些排序算法的原理及源码实现,对于提升编程能力具有...
由于排序数量限制在100以内,这些算法在小规模数据上都能得到较好的表现,但随着数据规模的增大,效率较低的冒泡排序和选择排序的性能劣势会更加明显,而插入排序在部分情况下(如接近有序的数组)能表现出较高的...
冒泡排序和选择排序适用于小规模数据;归并排序和堆排序在稳定性及处理大数据量上表现良好;插入排序和希尔排序在部分有序数据时有优势。理解并掌握这些排序算法,对于编程和算法设计能力的提升有着重要作用。
【作品名称】:基于C 实现的冒泡排序和选择排序两种基础的算法 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】:基于C ...
MSP430汇编语言实现冒泡排序和选择排序
分别是用冒泡排序和选择排序方法实现了数组的排序
交换排序可以看作是一种广义的排序策略,其中冒泡排序和选择排序都可以归类于这一大类。其核心在于两两比较相邻元素,如果顺序错误则进行交换,直至整个序列有序。 ### 4. 希尔排序(Shell Sort) 希尔排序是插入...
本文将详细探讨五种常见的排序算法——归并排序、插入排序、冒泡排序和选择排序,以及它们在C语言环境下的时间性能比较。 1. **归并排序**: 归并排序是一种基于分治策略的排序算法,它将大问题分解为小问题,再将...
这四种排序算法都是基础排序算法的重要组成部分,其中冒泡排序和选择排序的时间复杂度较高(均为O(n^2)),而插入排序适用于部分有序的数组。希尔排序则是插入排序的一种优化版本,通过增量分组的方式提高了排序效率...
冒泡排序和选择排序是两种基础的排序算法,它们在计算机科学中占有重要地位,尤其在理解算法原理和教育初学者方面。这两种排序方法都属于简单排序,它们的工作原理、效率以及适用场景各有特点。 首先,我们来详细...