初学C语言【7】冒泡法排序,选择法排序,

冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。

#include<stdio.h>
int main()//冒泡排序
{
 	int arr[10] = { 9,8,-98,6,5,56,3,223,1,0 };
	int a, b, c;
 	for (a = 0; a < 9; a++)
 	{
 		for (b = 0; b < 9 - a; b++)
  		{
   		if (arr[b] > arr[b + 1])
   			{
    			c = arr[b];
    			arr[b] = arr[b + 1];
    			arr[b + 1] = c;
  		 	}
  		}
	 }
 	for (a = 0; a < 10; a++)
 		{
  		printf("%d   ", arr[a]);
	 	}
}

选择排序是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。

#include <stdio.h>
int main()
{
   int arr[10] = { -1,65,34,76,155,665,-54,0,64,76 };
   int a, b, c, d;
   for (a = 0; a < 9; a++)
   {
     c = a;
    for (b = a + 1; b < 10; b++)
    {
      if (arr[b] < arr[c])
      { 
          c = b;
       }
    }
     d = arr[c];
     arr[c] = arr[a];
     arr[a] = d;
 }
 for (a = 0; a < 10; a++)
  {
     printf("%d   ", arr[a]);
   }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值