zoukankan      html  css  js  c++  java
  • 奇偶排序

    /*
     *		2014-6-15 21:58:27
     *		维基百科
     *
     *		该算法中,通过比较数组中相邻的(奇-偶)位置数字对,如果该奇偶对是错误的顺序(第一个大于第二个),则交换。
     *		下一步重复该操作,但针对所有的(偶-奇)位置数字对。如此交替进行下去。
     *		
     *
    */
    #include <iostream>
    #include <time.h>
    using namespace std;
    
    void bxy(int *a,int n)
    {
    	int i;
    	bool change = true;
    	while(change)
    	{
    		change = false;
    		for(i=0; i<n; i+=2)//奇偶对比较
    		{
    			if(a[i]>a[i+1])
    			{
    				change = true;
    				swap(a[i],a[i+1]);
    			}
    		}
    		for(i=1; i<n; i+=2)//偶奇对交换
    		{
    			if(a[i]>a[i+1])
    			{
    				change = true;
    				swap(a[i],a[i+1]);
    			}
    		}
    		//若始终没有交换,此时bool 变量change为FALSE,则说明排序成功
    	}
    }
    
    void print(int a[],int n)            
    {            
        for(int i=0; i<n; i++)            
        {            
            cout<<a[i]<<" ";            
        }            
        cout << endl;            
    }            
              
              
    void main()            
    {            
        int a[10];      
        srand((unsigned)time(NULL));//初始化随机数         
          
        for(int i=0; i<10; i++)      
        {      
            a[i]=rand()%20;      
        }      
        cout << "排序前:";            
        print(a,sizeof(a)/sizeof(a[0]));          
              
        int n=sizeof(a)/sizeof(a[0]);          
        bxy(a,n);       
              
        cout << "排序后:";         
        print(a,sizeof(a)/sizeof(a[0]));            
    }      

  • 相关阅读:
    Jboss下jaxws的开发
    Jboss as 服务器基本设置
    classloader常见问题总结
    Servlet容器 Jetty
    Jetty 的工作原理以及与 Tomcat 的比较
    resin设置jvm参数
    Solr4.0使用
    Solr 4.0部署
    Solr 搜索功能使用
    HttpSolrServer 实例管理参考,来自org.eclipse.smila.solr
  • 原文地址:https://www.cnblogs.com/sjw1357/p/3864012.html
Copyright © 2011-2022 走看看