`
CreazyApple
  • 浏览: 63791 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

冒泡排序和选择排序

 
阅读更多
/* 冒泡排序 */
#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语言中的实现。 **...

    优化冒泡排序和选择排序

    冒泡排序和选择排序是两种基础的排序算法,它们在计算机科学中有着广泛的应用,尤其在教学和理解排序原理时非常关键。这两种算法虽然简单,但在特定情况下可以通过优化提高效率。 首先,我们来详细探讨冒泡排序。...

    用C#实现的冒泡排序和选择排序

    本篇文章将深入探讨在C#编程语言中实现冒泡排序和选择排序的方法,这两种经典的排序算法在理解和实现上都相对简单,适合初学者入门。 首先,让我们来理解冒泡排序(Bubble Sort)。冒泡排序是一种简单的排序算法,...

    数据结构中的冒泡排序和选择排序

    ### 数据结构中的冒泡排序和选择排序 在计算机科学领域,数据结构是研究的核心之一,而排序算法作为数据处理中最常见的操作,在各种应用场景中都扮演着至关重要的角色。本文将重点探讨两种经典的排序算法——冒泡...

    冒泡排序和选择排序算法的动态演示程序.pdf

    冒泡排序和选择排序是两种基础的排序算法,它们在计算机科学中有着广泛的应用,特别是在理解和教学算法原理时。这两种排序方法都是通过比较数组中的元素来实现排序的,但它们的工作方式有所不同。 **冒泡排序**...

    Java后端算法-冒泡排序和选择排序对比

    本文将深入探讨两种基础且常见的排序算法:冒泡排序和选择排序。这两种算法都是简单直观的排序方法,但它们在性能和适用场景上有所不同。 **冒泡排序**: 冒泡排序是一种交换排序,通过不断比较相邻元素并交换位置...

    冒泡排序和选择排序代码详解

    冒泡排序和选择排序是两种基础且常见的计算机算法,它们被广泛用于数据处理和排序任务。在编程领域,理解这两种排序算法的原理及其代码实现至关重要,尤其对于初学者和软件/插件开发者。 **冒泡排序(Bubble Sort)...

    冒泡排序和选择排序PPT教案学习.pptx

    冒泡排序和选择排序是两种基础的排序算法,它们在计算机科学中被广泛用来组织和整理数据。这两种方法虽然相对简单,但对于理解排序算法的工作原理至关重要。 首先,我们来看看冒泡排序。冒泡排序的基本思想是通过...

    基于 C 的冒泡排序和选择排序两种基础的算法

    冒泡排序和选择排序是计算机科学中两种基本的排序算法,它们在计算机程序设计中扮演着重要的角色。本文将深入探讨这两种排序算法的原理、实现方式以及它们在C语言中的应用。 首先,让我们来理解冒泡排序。冒泡排序...

    冒泡排序和选择排序的总结与差别

    本笔记包括了冒泡排序与选择排序的一些基本过程与相同点与不同点的比较,例如,冒泡排序与选择排序的算法讲述,对学c的新手十分友好,本人愚笨,如有看不懂,请见谅。

    冒泡排序,选择排序,插入排序,希尔排序,堆排序,归并排序,快速排序源码实现

    例如,冒泡排序和选择排序适合小规模数据,而快速排序和归并排序则适用于大规模数据。在实际应用中,应根据具体需求和数据特性选择合适的排序算法。学习和理解这些排序算法的原理及源码实现,对于提升编程能力具有...

    冒泡排序、选择排序、插入排序

    由于排序数量限制在100以内,这些算法在小规模数据上都能得到较好的表现,但随着数据规模的增大,效率较低的冒泡排序和选择排序的性能劣势会更加明显,而插入排序在部分情况下(如接近有序的数组)能表现出较高的...

    7大排序算法实现程序(快速排序,冒泡排序,选择排序,归并排序,插入排序,希尔排序,堆排序)

    冒泡排序和选择排序适用于小规模数据;归并排序和堆排序在稳定性及处理大数据量上表现良好;插入排序和希尔排序在部分有序数据时有优势。理解并掌握这些排序算法,对于编程和算法设计能力的提升有着重要作用。

    基于C 实现的冒泡排序和选择排序两种基础的算法

    【作品名称】:基于C 实现的冒泡排序和选择排序两种基础的算法 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】:基于C ...

    MSP430汇编语言实现冒泡排序和选择排序

    MSP430汇编语言实现冒泡排序和选择排序

    冒泡排序和选择法排序的源代码

    分别是用冒泡排序和选择排序方法实现了数组的排序

    经典排序算法,有选择排序,冒泡排序,交换排序,谢尔排序,插入排序基数排序

    交换排序可以看作是一种广义的排序策略,其中冒泡排序和选择排序都可以归类于这一大类。其核心在于两两比较相邻元素,如果顺序错误则进行交换,直至整个序列有序。 ### 4. 希尔排序(Shell Sort) 希尔排序是插入...

    归并排序、插入排序、归并排序、冒泡排序、选择排序算法的时间比较

    本文将详细探讨五种常见的排序算法——归并排序、插入排序、冒泡排序和选择排序,以及它们在C语言环境下的时间性能比较。 1. **归并排序**: 归并排序是一种基于分治策略的排序算法,它将大问题分解为小问题,再将...

    冒泡排序、选择排序、插入排序和希尔排序

    这四种排序算法都是基础排序算法的重要组成部分,其中冒泡排序和选择排序的时间复杂度较高(均为O(n^2)),而插入排序适用于部分有序的数组。希尔排序则是插入排序的一种优化版本,通过增量分组的方式提高了排序效率...

    冒泡排序与选择排序详细讲解

    冒泡排序和选择排序是两种基础的排序算法,它们在计算机科学中占有重要地位,尤其在理解算法原理和教育初学者方面。这两种排序方法都属于简单排序,它们的工作原理、效率以及适用场景各有特点。 首先,我们来详细...

Global site tag (gtag.js) - Google Analytics