• 地精排序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
    
    




  • 相关阅读:
    md5编码的两个程序
    DotNetNuke 5 User's Guide Get Your Website Up and Running读书摘录3
    纪念今天DNN密码破解
    DotNetNuke 5 User's Guide Get Your Website Up and Running读书摘录4
    文件与目录的默认权限与隐藏权限(转)
    EXT2 文件系统
    磁盘与目录的容量(转)
    文件的搜寻(转)
    权限与命令间的关系(转)
    账户切换(转)
  • 原文地址:https://www.cnblogs.com/whzhaochao/p/5023468.html
Copyright © 2020-2023  润新知