C语言冒泡排序+交换两个数的3种方法

2019-07-09  本文已影响0人  JohnayXiao
int a[] = {1,3,5,2,4,6,7,9,8,10};
    
    for (int i = 0; i < 9; i++) {
        
        for (int j = i + 1; j < 10; j++) {
            
            if (a[i] > a[j]) {
                
                //swap 1
                int t = a[i];
                a[i] = a[j];
                a[j] = t;
                
                //swap 2
                a[i] = a[i] + a[j];
                a[j] = a[i] - a[j];
                a[i] = a[i] - a[j];
                
                //swap 3
                a[i] = a[i] ^ a[j];
                a[j] = a[i] ^ a[j];
                a[i] = a[i] ^ a[j];
                
                
            }
        }
    }
    
    for (int i = 0; i < 10; i++) {
        
        printf("%d ", a[i]);
    }
上一篇 下一篇

猜你喜欢

热点阅读