• 排序问题


    排序问题

    Time Limit: 1000MS Memory limit: 65536K

    题目描述

    输入10个整数,将它们从小到大排序后输出,并给出现在每个元素在原来序列中的位置。

    输入

    输入数据有一行,包含10个整数,用空格分开。

    输出

    输出数据有两行,第一行为排序后的序列,第二行为排序后各个元素在原来序列中的位置。

    示例输入

    1 2 3 5 4 6 8 9 10 7

    示例输出

    1 2 3 4 5 6 7 8 9 10
    1 2 3 5 4 6 10 7 8 9

    源码(用结构体):

    #include <stdio.h>
    struct data
    {
    	int n;//数值
    	int cur;//位置
    };
    
    int main()
    {
    	struct data arr[10];//C语言中必须用要写struct。。不然GCC是不会通过的。。
    	struct data t;
    	int i,j;
    	for(i=0; i<10; i++)
    	{
    		scanf("%d",&arr[i]);//输入数值
    		arr[i].cur=i+1;//保持位置序号
    	}
    	for(i=0; i<10-1; i++)
    	{
    		for(j=0; j<10-i-1; j++)
    		{
    			if(arr[j].n > arr[j+1].n)
    			{	
    				t=arr[j];
    				arr[j]=arr[j+1];
    				arr[j+1]=t;
    			}
    		}
    	}
    	for(i=0; i<10; i++)
    	{
    		if( i != 0 )
    			printf(" %d",arr[i].n);
    		else
    			printf("%d",arr[i].n);
    	}
    	putchar('\n');
    	for(i=0; i<10; i++)
    	{
    		if(i != 0)
    			printf(" %d",arr[i].cur);
    		else
    			printf("%d",arr[i].cur);
    	}
    	putchar('\n');
    	return 0;
    }
    


    或者(用两个数组):

    #include <stdio.h>
    
    int main()
    {
    	int arr1[10],arr2[10];//arr1[10]用来存储数值,arr2[10]用来存储位置
    	int t;
    	int i,j;
    	for(i=0; i<10; i++)
    	{
    		scanf("%d",&arr1[i]);//输入数值
    		arr2[i]=i+1;//保持位置序号
    	}
    	for(i=0; i<10-1; i++)//冒泡
    	{
    		for(j=0; j<10-i-1; j++)
    		{
    			if(arr1[j] > arr1[j+1])
    			{	
    				t=arr1[j];
    				arr1[j]=arr1[j+1];
    				arr1[j+1]=t;
    
    				t=arr2[j];
    				arr2[j]=arr2[j+1];
    				arr2[j+1]=t;
    			}
    		}
    	}
    	for(i=0; i<10; i++)//输出
    	{
    		if( i != 0 )//AC对输出格式好像非常严格。。。
    			printf(" %d",arr1[i]);
    		else
    			printf("%d",arr1[i]);
    	}
    	putchar('\n');
    	for(i=0; i<10; i++)
    	{
    		if(i != 0)
    			printf(" %d",arr2[i]);
    		else
    			printf("%d",arr2[i]);
    	}
    	putchar('\n');
    	return 0;
    }
    






  • 相关阅读:
    minio 对于压缩的处理
    mino federation 功能
    Full Schema Stitching with Apollo Server
    GraphQL Gateway Architectures
    Modularizing your graphQL schemas
    gearman openresty 集成试用
    madlib 集成 hasura graphql-engine 试用
    Oracle数据库--解决单张表中数据量巨大(大数据、数据量上百万级别,后查询,更新数据等耗时剧增)
    绝对干货,教你4分钟插入1000万条数据到mysql数据库表,快快进来
    几款开源的ETL工具及ELT初探
  • 原文地址:https://www.cnblogs.com/tanhehe/p/2883531.html
Copyright © 2020-2023  润新知