书上有说到这个算法,可不知道怎么写。
有的提供一个,谢谢

解决方案 »

  1.   


     23,   14,   45,   11,7,   9,   43,17   
      先分组,按位次所在的奇偶。   
      23   ,45,   7,   43               
        14,     11,   9   ,17//step   1   
      奇数位和其后的偶数位比较:   
      14       11,     7,   17   
            23       45         9       43//step   2   
      偶数位和其后的奇数位比:   
      14         23         45         17   
            11         7             9           43//step   3   
      奇数位和其后的偶数位比较:   
      11       7         9       17     
            14     23       45       43   //step   4   
      偶数位和其后的奇数位比   
      11       14         23           45   
            7         9           17             43//step   5   
      ````````````````````````````````````   
      7         9       17         43   
            11     14       23           45   
      ```````````````````````````````   
      7           11           17         43   
              9             14         23           45   
      ````````````````````````````````````   
      7           11           17         43   
              9             14         23           45//no   exchange   
      ````````````````````````````````````   
          7           11           17         43   
              9             14         23           45//no   exchange   again   ,finish.   
      `````````````````````````````   
      result   7   9   11   14     17     23   43   45   
      

  2.   

    Java数据结构和算法中文第二版  
    网上有这本书 第三章 简单排序 79页习题3.4  
        还有一个简单排序算法是奇偶排序法。它的思路是在数组中重复两趟扫描,第一趟扫描选择所有的数据项对,a[j]和a[j+1],
        是j是奇数(j=1,3,5……),如果它们的关键字的值次序颠倒,就交换他们。第二趟扫描对所有的偶数数据项进行同样的操作(j=2,4,6……)
        重复进行这样两趟的排序直到数组全部有序。用oddEvenSort()方法替换bubbleSort.java程序中的bubbleSort()方法.确保它可以在不同数据量
        的排序中进行,还需要算出两趟扫描的次数。
        奇偶排序实际上在多处理器环境中很有用,处理器可以分别同时处理每一个奇数对,然后又同时处理偶数对。因为技术对是彼此独立的,每一对都可以
        用不同的处理器比较和交换。这样可以非常快速的排序.