经典排序算法 – 奇偶排序Odd
来源:互联网 发布:微屏软件科技 陈路 编辑:程序博客网 时间:2024/05/21 09:39
基本思路是奇数列排一趟序,偶数列排一趟序,再奇数排,再偶数排,直到全部有序
待排数组[6 2 4 1 5 9]
第一次比较奇数列,奇数列与它的邻居偶数列比较,如6和2比,4和1比,5和9比
[6 2 4 1 5 9]
交换后变成
[2 6 1 4 5 9]
第二次比较偶数列,即6和1比,4和5比
[2 6 1 4 5 9]
交换后变成
[2 1 6 4 5 9]
第三趟又是奇数列,选择的是2、6、5分别与它们的邻居列比较
[2 1 6 4 5 9]
交换后
[1 2 4 6 5 9]
第四趟偶数列
[1 2 4 6 5 9]
一次交换
[1 2 4 5 6 9]
1 //Odd-even sort 2 3 #include <stdio.h> 4 #include <stdlib.h> 5 6 int main(int argc,char *argv[]) 7 { 8 int array[6]={6,2,4,1,5,9}; 9 int flag=1,temp,sign;10 11 //Odd-even sort12 while(flag!=0)13 {14 flag=0;15 16 //奇数列排序17 for(sign=0;sign<6;sign+=2)18 {19 if(array[sign]>array[sign+1])20 {21 temp=array[sign];22 array[sign]=array[sign+1];23 array[sign+1]=temp;24 flag=1;25 }26 } 27 28 //偶数列排序29 for(sign=1;sign<6;sign+=2)30 {31 if(array[sign]>array[sign+1])32 {33 temp=array[sign];34 array[sign]=array[sign+1];35 array[sign+1]=temp;36 flag=1;37 }38 } 39 //这两个for循环应该可以合成一个的,但是不知道怎么做 40 }41 42 //输出排序后的数组43 for(sign=0;sign<6;sign++)44 {45 printf("%d",array[sign]);46 } 47 48 return 0;49 }
引用:http://www.cnblogs.com/kkun/archive/2011/11/23/2260295.html
<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- 经典排序算法 – 奇偶排序Odd
- 经典排序算法 – 奇偶排序Odd-even sort
- 经典排序算法 - 奇偶排序Odd-even sort
- 经典排序算法 - 奇偶排序Odd-even sort
- 奇偶排序Odd-even sort
- 排序算法--奇偶排序
- 奇偶排序算法
- 排序算法之奇偶排序
- 排序算法系列:奇偶排序算法
- 排序算法系列:奇偶排序算法
- 排序算法系列四(奇偶排序)
- 奇偶排序(OddEven Sort)----(排序算法十一)
- 奇偶排序
- 奇偶排序
- 奇偶排序
- 奇偶排序
- 奇偶排序
- 奇偶排序
- linux kernel panic解决思路
- 黑马程序员——异常
- 常数变易法的原理
- 移动版三星N7108 root教程
- 高性能的分布式内存对象缓存系统-Memcached简介
- 经典排序算法 – 奇偶排序Odd
- 题目1098:字母统计
- 黑马程序员——多线程
- 基础排序算法 – 快速排序Quick sort
- 基础排序算法 – 插入排序Insertion sort
- 黑马程序员——包装类
- 听道笔记-06-02-2013-《信徒合一的事奉》-吕牧师
- 这就是生活,学着想开,看淡,不强求,别让自己心累
- 基础排序算法 – 选择排序Selection sort