美文网首页
1076 排序

1076 排序

作者: star_night | 来源:发表于2017-04-19 13:02 被阅读0次

题目描述 Description

给出n和n个整数,希望你从小到大给他们排序

输入描述 Input Description

第一行一个正整数n
第二行n个用空格隔开的整数

输出描述 Output Description

输出仅一行,从小到大输出n个用空格隔开的整数

样例输入 Sample Input

3
3 1 2

样例输出 Sample Output

1 2 3

数据范围及提示 Data Size & Hint

1<=n<=100000

代码

冒泡排序
#include<stdio.h>
int a[100001];
int main()
{
    int n;
    scanf("%d",&n);
    int i;
    for(i=0;i<n;i++)
        scanf("%d",a+i);
    int j,k,max;
    for(j=0;j<n-1;j++){
        for(k=0;k<n-j-1;k++){
            if(a[k]>a[k+1]){
                max=a[k];
                a[k]=a[k+1];
                a[k+1]=max;
            }
        }
    }
    for(j=0;j<n;j++){
      printf("%d",a[j]);
      if(j!=n-1)
        printf(" ");
    }
    return 0;
}
c自带函数sort
#include<stdio.h>
#include<stdlib.h>//函数在此头文件中
int comp(const void *a,const void *b)
{
return *(int*)a-*(int*)b;//升序
//return *(int *)b-*(int *)a;降序
}
int main()
{
  int n,a[100000];
  scanf("%d",&n);
  int i;
  for(i=0;i<n;i++)
    scanf("%d",&a[i]);
  qsort(a,n,sizeof(a[0]),comp);
  for(i=0;i<n;i++)
    printf("%d ",a[i]);
  return 0;
}
快排
#include <stdio.h>
int a[100005], n;
void quicksort(int left,int right)
{
    int i, j, base;
    i = left;
    j = right;
    base = a[(i+j) / 2];
    while (i <= j){
        while (a[i] < base) i++;
        while (a[j] > base) j--;
        if (i<=j){
            int t = a[i];
            a[i] = a[j];
            a[j] = t;
            i++;
            j--;
        }
    }
    if (left < j)
      quicksort(left, j);
    if (i < right)
      quicksort(i, right);
}
int main(void)
{
  int i;
  scanf("%d",&n);
  for(i = 0; i < n; i++)
    scanf("%d", &a[i]);
  quicksort(0, n - 1);
  for(i = 0; i < n; i++){
    printf("%d",a[i]);
    if(i<n-1)
      printf(" ");
  }
  printf("\n");
  return 0;
}

相关文章

  • 1076 排序

    题目描述 Description 给出n和n个整数,希望你从小到大给他们排序 输入描述 Input Descrip...

  • 二路归并排序(递归)

    归并排序(递归) http://codevs.cn/problem/1076/超出空间了 2-路归并排序将R[lo...

  • 1076

    说:“水再浑浊,只要经历长久的沉淀,依然分外清澄;人再愚钝,只要施予足够的努力,一样能改写命运。人生是一场漫长的对...

  • 1076

    9月5日,农历八月初十,多云,周一 下班直接去三姨娘家,取他们需要改的衣服。回家娃爸烧饭,我就整缝纫机。裤脚边缝好...

  • PAT乙级题目合集(76~95)

    1076 1077 要去掉一个最大值和最小值,可以先把数组排序,然后输出的时候跳过第一项和最后一项。 1078 当...

  • PAT甲级A1076---图的遍历

    1076 Forwards on Weibo (30分) 分析: C++:

  • COSC1076作业代做、C++程序作业调试、代做C++语言作业

    COSC1076Advanced Programming TechniquesAssignment 1Partic...

  • 2017 ICCV 对抗生成网络GAN

    Oral (3篇) 1076 Towards Diverse and Natural Image Descript...

  • PATA1076-Forwads On Weibo

    题目描述 1076 Forwards on Weibo (30 分)Weibo is known as the C...

  • 1076:英语背书

    上了初中,我们就发现,我们的班主任兼英语老师程老师,相比起小学,就有不同的教学方式了。而英语背书,就是其中很...

网友评论

      本文标题:1076 排序

      本文链接:https://www.haomeiwen.com/subject/mbtczttx.html