刘名澳


私信TA

用户名:uq_65100496857

访问量:4171

签 名:

等  级
排  名 2538
经  验 2263
参赛次数 1
文章发表 10
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:仅记录个人题解

注意事项:仅记录个人题解

参考代码:

(1)快速排序

#include<stdio.h>

int a[100],n;

void quicksort(int left,int right)

{

    int i,j,t,temp;

    while(left>right)

        return;

    i=left;

    j=right;

    temp=a[left];

    while(i!=j)

    {

        while(a[j]<=temp&&i<j)

            j--;

        while(a[i]>=temp&&i<j)

            i++;

        if(i<j)

        {

            t=a[i];

            a[i]=a[j];

            a[j]=t;

        }

    }

    a[left]=a[i];

    a[i]=temp;

    quicksort(left,i-1);

    quicksort(i+1,right);

}

int main()

{

    int i;

    scanf("%d",&n);

    for(i=0;i<n;i++)

        scanf("%d",&a[i]);

    quicksort(0,n-1);

    for(i=0;i<10;i++)

        printf("%d ",a[i]);

    return 0;

}

(2)冒泡排序

#include<stdio.h>

int main()

{

    int i,j,t;

    int a[1000],n;

    scanf("%d",&n);

    for(i=0;i<n;i++)

        scanf("%d",&a[i]);

    for(i=0;i<n-1;i++)

    {

        for(j=0;j<n-i-1;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 ",a[i]);

    return 0;

}


 

0.0分

2 人评分

  评论区

  • «
  • »