内部排序(三)冒泡法和选择排序法

这是一类藉助交换进行排序的方法。其中最简单的就是冒泡法和选择排序法。

冒泡法:如果数组的长度是n,那么总共需要n-1趟比较。第 i 趟比较需比较 n-i 次。

选择法:每次选择最小的元素,把它放在最前面的位置,依次往下走。


#include<stdio.h>
#include<stdlib.h>
#define len 12

void maopao_sort( int d[] )
{
  int i,j,t;
  for(i=0;i<len-1;i++)
	  for(j=0;j<len-i-1;j++)
          if( d[j]>d[j+1])
		  {
		     t = d[j];
			 d[j] = d[j+1];
			 d[j+1] = t;
		  }
}

void xuanzhe_sort( int d[] )
{
  int i,j,t,min;
  for(i=0;i<len;i++)
  {
	 min = i;
     for(j=i+1;j<len;j++)
		 if( d[j] < d[min] )
             min = j;
     if(min!=i)
	 {
      t = d[i];
      d[i] = d[min];
      d[min] = t;
	 }
  }
}



int main()
{  
	int d[len] = {49,38,65,97,76,13,27,49,85,11,23,47};
	
	//maopao_sort(d);
	xuanzhe_sort(d);

    for(int k=0;k<len;k++)
     printf("%d\n",d[k]);
	return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《算赏析》课程介绍 “软件 = 算 + 数据结构”,算是软件的灵魂。在信息时代,计算思维是分析复杂工程问题的重要思维方式,计算机则是求解问题的重要工具。本课程以计算机经典问题求解为导向,通用算思维和自动编程流程图培养为目标,引入经典算,精心安排课程的理论教学和编程实践。本课程学习将有助于学员提高计算思维能力及算思维的能力。 本课程主要讲授计算机问题求解的经典算设计方和算复杂度分析方,主要内容包括计算机概述、计算机系统的组成、信息化及指标体系、操作系统、程序设计语言、算简介、数的表示及存储、数据结构简介及顺序结构和选择结构、循环结构、循环的嵌套、算复杂度分析,枚举算,递归与分治策略,递归与迭代的思想、求最大最小、线性查找、二分查找与冒泡排序以及选择与交换排序、插入和希尔排序。本课程除了强调经典的算理论和模型,亦兼顾编程实践能力。力图使得学员面对复杂问题时,既能“想到”还能“做到”。 授课目标 培养算思维,掌握枚举算、分治策略、递归与迭代、选择与交换排序等经典算模型; 培养实践能力,掌握在存储空间和时间开销受限情况下的程序设计方; 培养理论思维,掌握复杂问题的算设计与分析方

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值