冒泡排序,快排

C++:
void bubble(int *pdata,int length) //冒泡排序
{
    for (int i = 0; i <length; i++)
    {
        for(int j = 0;j <length-i-1;j++)
        {
            if(pdata[j]>pdata[j+1];
            swap(pdata[j], pdata[j+1]);
        }
    }
}
python:
def bubble():
	a = [1,3,2,6,8,4,9]
	count = len(a)
	for i in range(count):
		for j in range(i+1,count):
			# if a[i]<a[j]:
			# 	a[i],a[j]=a[j],a[i]
                        if a[i]>a[j]:
                                a[i],a[j] = a[j],a[i]
	return a
def bubble():
        a = [1,3,4,2,5,8,9,6]
        for i in range(len(a)):
                for j in range(i,len(a)):
                        if a[i]>a[j]:
                                a[i],a[j] = a[j],a[i]
        print a
bubble()

快排C++:

void quickSort(int s[], int l, int r)   //快排
{
    if (l< r)
    {
        int i = l, j = r, x = s[l];
        while (i < j)
        {
            while(i < j && s[j]>= x) // 從右向左找第一個小於x的數
                j--;
            if(i < j && s[j] < x)   //若從右往左找到比x小的值,則s[i] = s[j],同時i++
                s[i++] = s[j];
            while(i < j && s[i]< x) // 從左向右找第一個大於等於x的數
                i++;
            if(i < j && s[i] >= x)
                s[j--] = s[i];
        }
        s[i] = x;
        quickSort(s, l, i - 1); // 遞歸調用
        quickSort(s, i + 1, r);
    }
}





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