【发布时间】:2018-08-31 01:13:26
【问题描述】:
给定一个包含 n 个整数的数组 A,找到一个算法可以在 O(n + y − x) 时间内对数组 A 进行排序,其中 x 是 A 中的最小整数,y 是 A 中的最大整数。 到目前为止,我只能想到将最小的元素放在 A[0] 中,将最大的元素放在 A[n] 中,有人可以帮忙吗?(作业问题)
#include <stdio.h>
int sort(int array, int x, int y){
int j = 0;
int temp = 0;
for (j<=4){
if (array[j] == x){
temp = array[0];
array[0] = array[j];
array[j]=temp;
}
else if (array[j] == y){
temp = array[4];
array[0] = array[j];
array[j]=temp;
}
//////////////////////////////////////////////
////////////////////////////////////////////
////////////////////////////////////////////
}
return 0;
}
int main(){
int array[5]={3,2,5,4,1};
sort(array,1,5);
int i = 0;
for (i<=4){
printf("%d\n",array[i]);
}
return 0;
}
【问题讨论】:
-
你有什么问题?
-
欢迎来到 StackOverflow。请按照您创建此帐户时的建议阅读并遵循帮助文档中的发布指南。 Minimal, complete, verifiable example 适用于此。在您发布 MCVE 代码并准确描述问题之前,我们无法有效地帮助您。我们应该能够将您发布的代码粘贴到文本文件中并重现您描述的问题。由于您尚未指定编程问题,因此我们无事可做。
-
"Can Someone Help Me?" is not a valid SO question。这通常表明您需要的是与当地导师一起半小时或完成教程,而不是 Stack Overflow。