zoukankan      html  css  js  c++  java
  • 地精排序Gnome Sort ----(排序算法十)

    1.算法原理 


    2.算法代码

    #include <stdio.h>
    
    //printArray打印出数组
    void printArray(int a[],int size){  
        printf("数组为:[%d] ",a[0]);  
        for (int i=1;i<size;i++)  
        {  
            printf(" %x ",a[i]);  
        }  
        printf("
    ");  
    }
    
    
    void main()
    {
    	//a[0]监视哨
    	int  a[10] ={0,9,8,7,6,5,4,3,2,1};
    	int  len=10;
    	int i = 1;
    	while (i < len) {
    		if (i == 1 || a[i-1] <= a[i]){
    			i++;
    		}else{
    			printf("%d<-->%d ",a[i-1],a[i]);
    			printArray(a,10);
    			a[0] = a[i]; 
    			a[i] = a[i-1]; 
    			a[--i] = a[0];
    		}	
    	}
    	printArray(a,10);
    }
    
    
    

    3.结果

    9<-->8 数组为:[0]  9  8  7  6  5  4  3  2  1
    9<-->7 数组为:[8]  8  9  7  6  5  4  3  2  1
    8<-->7 数组为:[7]  8  7  9  6  5  4  3  2  1
    9<-->6 数组为:[7]  7  8  9  6  5  4  3  2  1
    8<-->6 数组为:[6]  7  8  6  9  5  4  3  2  1
    7<-->6 数组为:[6]  7  6  8  9  5  4  3  2  1
    9<-->5 数组为:[6]  6  7  8  9  5  4  3  2  1
    8<-->5 数组为:[5]  6  7  8  5  9  4  3  2  1
    7<-->5 数组为:[5]  6  7  5  8  9  4  3  2  1
    6<-->5 数组为:[5]  6  5  7  8  9  4  3  2  1
    9<-->4 数组为:[5]  5  6  7  8  9  4  3  2  1
    8<-->4 数组为:[4]  5  6  7  8  4  9  3  2  1
    7<-->4 数组为:[4]  5  6  7  4  8  9  3  2  1
    6<-->4 数组为:[4]  5  6  4  7  8  9  3  2  1
    5<-->4 数组为:[4]  5  4  6  7  8  9  3  2  1
    9<-->3 数组为:[4]  4  5  6  7  8  9  3  2  1
    8<-->3 数组为:[3]  4  5  6  7  8  3  9  2  1
    7<-->3 数组为:[3]  4  5  6  7  3  8  9  2  1
    6<-->3 数组为:[3]  4  5  6  3  7  8  9  2  1
    5<-->3 数组为:[3]  4  5  3  6  7  8  9  2  1
    4<-->3 数组为:[3]  4  3  5  6  7  8  9  2  1
    9<-->2 数组为:[3]  3  4  5  6  7  8  9  2  1
    8<-->2 数组为:[2]  3  4  5  6  7  8  2  9  1
    7<-->2 数组为:[2]  3  4  5  6  7  2  8  9  1
    6<-->2 数组为:[2]  3  4  5  6  2  7  8  9  1
    5<-->2 数组为:[2]  3  4  5  2  6  7  8  9  1
    4<-->2 数组为:[2]  3  4  2  5  6  7  8  9  1
    3<-->2 数组为:[2]  3  2  4  5  6  7  8  9  1
    9<-->1 数组为:[2]  2  3  4  5  6  7  8  9  1
    8<-->1 数组为:[1]  2  3  4  5  6  7  8  1  9
    7<-->1 数组为:[1]  2  3  4  5  6  7  1  8  9
    6<-->1 数组为:[1]  2  3  4  5  6  1  7  8  9
    5<-->1 数组为:[1]  2  3  4  5  1  6  7  8  9
    4<-->1 数组为:[1]  2  3  4  1  5  6  7  8  9
    3<-->1 数组为:[1]  2  3  1  4  5  6  7  8  9
    2<-->1 数组为:[1]  2  1  3  4  5  6  7  8  9
    数组为:[1]  1  2  3  4  5  6  7  8  9
    
    




  • 相关阅读:
    RUNOOB.COM-python网络编程-(python3.5.0)
    windows查看服务
    计算机网络里的一些理解
    如果面试有傻逼问道oracle怎么启动的
    推荐一个学习数据库的地方
    电脑中的驱动程序是什么,是干什么的
    Raspberry Pi 4B 之 Python开发
    Ubuntu20.04+EdgexFoundry边缘计算微服务搭建-----遇到的问题-----make build 被墙问题
    Raspberry Pi 4B + Ubuntu 20.04 server for arm64 的wifi配置
    关于PicoNeo开发环境的Unity3D+AndroidSDK配置
  • 原文地址:https://www.cnblogs.com/whzhaochao/p/5023468.html
Copyright © 2011-2022 走看看