首页 > 其他分享 >61.对一个整数数组排序

61.对一个整数数组排序

时间:2022-12-28 17:56:50浏览次数:59  
标签:resort int pa 61 num 数组 排序

61.对一个整数数组排序

输入一个整数 m,然后输入 m 个整数存入数组,用一个指针数组分别指向该数组的对应元素。

要求,在不改变原始数组顺序的情况下,通过指针数组对数据按升序排序。

说明:请仅提交你编写的函数 int resort(int *pa[], int num);

预设代码

前置代码

view plainprint?
  1. /* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */  
  2.  
  3. #include <stdio.h>  
  4. #include <stdlib.h>  
  5.   
  6. int resort(int *pa[], int num);  
  7.     //通过指针数组pa对所指的num个数据进行间接排序(升序)   
  8.   
  9. int main(int argc, char *argv[])  
  10. {  
  11.     int a[100], num, i, *pa[100];  
  12.   
  13.     scanf("%d", &num);  
  14.     for ( i=0; i<num; i++) {  
  15.         scanf("%d", &a[i]);  
  16.         pa[i] = &a[i];  
  17.     }  
  18.   
  19.     resort(pa, num);    //这是你需要编写并提交的函数   
  20.   
  21.     for( i=0; i<num; i++ ) { //按指针pa的顺序输出排序结果   
  22.         printf("%d\n", *pa[i]);  
  23.     }  
  24.     return 0;  
  25. }  
  26.   
  27. /* PRESET CODE END - NEVER TOUCH CODE ABOVE */  
  测试输入 期待的输出 时间限制 内存限制 额外进程
测试用例 1 以文本方式显示
  1. 5↵
  2. 23   12  -7   6   89↵
以文本方式显示
  1. -7↵
  2. 6↵
  3. 12↵
  4. 23↵
  5. 89↵
1秒 64M 0
测试用例 2 以文本方式显示
  1. 6↵
  2. 12 7 56 78 9 34↵
以文本方式显示
  1. 7↵
  2. 9↵
  3. 12↵
  4. 34↵
  5. 56↵
  6. 78↵
1秒 64M 0

【分析】:

没什么好分析的

【代码】:

查看代码

#include <stdio.h>
#include <stdlib.h>

int resort(int* pa[], int num);
//通过指针数组pa对所指的num个数据进行间接排序(升序) 

int main(int argc, char* argv[])
{
	int a[100], num, i, * pa[100];

	scanf("%d", &num);
	for (i = 0; i < num; i++) {
		scanf("%d", &a[i]);
		pa[i] = &a[i];
	}

	resort(pa, num);	//这是你需要编写并提交的函数 

	for (i = 0; i < num; i++) {	//按指针pa的顺序输出排序结果 
		printf("%d\n", *pa[i]);
	}
	return 0;
}

int resort(int* pa[], int num)
{
	for (int i = 0; i < num; i++) {
		for (int j = i; j < num; j++)
			if (*pa[i] > *pa[j]) {
				int t = *pa[i];
				*pa[i] = *pa[j];
				*pa[j] = t;
			}
	}
	return 1;
}

 

标签:resort,int,pa,61,num,数组,排序
From: https://www.cnblogs.com/alien-han/p/17010894.html

相关文章

  • [题解] CF1761E Make It Connected
    CF1761EMakeItConnected题目大意给一张无向图,每次操作表现为选择一个点\(x\),断开所有原来连上的边,连接所有原来断开的边。求最少需要几步使得图联通,并构造方案。思......
  • pandas 排序
    目录​​pd.sort_values()​​​​单字段排序​​​​多字段排序​​pd.sort_values()单字段排序多字段排序......
  • numpy中查看数组的形状和改变数组的维度
    1.查看数组的形状2.改变数组的维度......
  • 01背包问题中滚动数组的理解
     时间:2022/12/28 问题:背包的最大重量为4。每个物品只有一个,物品重量及价值如下所示: 重量价值物品0115物品1320物品2430问背包能背的物......
  • Java千问12:七个问题帮助初学者深入理解Java数组
    ​几乎所有的高级语言当中,都提供了一种叫做”数组”的东西,Java语言当然也不例外。我们通过数组可以很方便的存储和管理一组数据。因为在Java语言当中使用数组非常的方便,所以......
  • 一篇关于《XY6761CA 4G 核心板》的文章!
       深圳市新移科技有限公司推出的《XY6761CA 4G核心板》是基于联发科MT6761(曦力A22)平台所研发出的4G全网通,安卓9.0操作系统的核心板。它采用的是沉金生产工艺,耐腐......
  • 归并排序
    算法学习的第二天算法学习之归并排序归并排序采用分治的思想它的基本思想是:选择一个分界点,先进行递归排序两边,再将两个数组合二为一。 归并排序模板voidmerge_sor......
  • 数组处理 reduce() 数组的归并方法
    1.获取数组的最小元素constgetSmallest=(arr)=>arr.reduce((smallest,num)=>Math.min(smallest,num));constarr=[13,7,11,3,9,15,17];console.lo......
  • c:对指针数组、数组指针、char数组、char指针的探究
    c:对指针数组、数组指针、char数组、char指针的探究    一、指针数组  1、指针数组:指针的数组;指针数组是存储指针的数组。  2、指针数组的......
  • LeetCode 33:搜索旋转排序数组
    LeetCode33:搜索旋转排序数组题目整数数组nums按升序排列,数组中的值互不相同。在传递给函数之前,nums在预先未知的某个下标k(0<=k<nums.length)上进行了旋转,使......