冒泡法   python VS C

#!/usr/bin/env python
def sortNum(numlist):
        numlen = len(numlist)
        for num1 in xrange(numlen - 1, -1, -1):
                for num2 in xrange((num1 - 1), -1, -1):
                        if numlist[num1] < numlist[num2]:
                                (numlist[num1],numlist[num2]) = (numlist[num2],numlist[num1])
        return numlist
if __name__ == '__main__':
        a = [21,43,5,2,-1,3,44,8787]
        print "raw num: ",
        for i in a:
          print i,
        sortNum(a)
        print "\nsorted num: ",
        for i in a:
          print i,
#include <stdio.h>
int main(void) 
{ 
        int a[10] = {1,2,44,-1,22,33,4,90,100,54}; 
        int length;
        int i=0,j=0,k=0,m=0;// declare and initialize
        int n=0; // times of loop
        length = sizeof(a) / sizeof(a[0]);
        m = length;
        for (i=0;i<10;i++)
                printf("%d ",a[i]);
        printf("\n");
        for (i = 1; i<length;i++)
        {
                m -= 1; //每一輪排序完成後,m均減一,以便之前排過序的忽略,較少循環次數
                for (j=0;j<m;j++)
                {
                        if(a[j] > a[j+1])
                        {
                                k = a[j];
                                a[j] = a[j+1];
                                a[j+1] = k;
                        }
                        n++;
                }
        }
        for (i=0;i<10;i++)
                printf("%d ",a[i]);
        printf("\n");
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章