数据结构

iOS 开发算法篇

2018-09-17  本文已影响0人  本本的开心牧场

冒泡排序

比较相邻的元素。如果第一个比第二个大,就交换他们两个。最大的数会逐个被放到最后直到排序结束。

    int a[10]={12 ,43,9,13,67,98,101,89,3,35};//十个数的无序数列
    int i,j,t;
    
    for (i = 0; i<10-1; i++) {

        for (j = 0; j<10-1-i; j++) {

            if (a[j]>a[j+1]) {
                t = a[j];
                a[j] = a[j+1];
                a[j+1] = t;
            }

        }

    }

//打印
    for (i = 0; i<10; i++) {
        printf("%d\n",a[i]);
    }

选择排序法

每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。

    int a[10]={12 ,43,9,13,67,98,101,89,3,35};//十个数的无序数列
    int i,j,t,min;
    
    for (i = 0; i<10-1; i++) {
//    假设最小值下标为i
        min = i;
        
        for (j = i; j<10; j++) {
            
            if (a[j]<a[min]) {
                min = j;
            }
         
            
        }
        
        if (min != i) {
            t = a[min];
            a[min] = a[i];
            a[i] = t;
        
        }
        
    }
     
    for (i = 0; i<10; i++) {
        printf("%d\n",a[i]);
    }

未完待续

上一篇 下一篇

猜你喜欢

热点阅读