C语言程序:
#include <stdio.h>//冒泡排序
void sort(double arr[], int n)
{
int i, j
double temp
for(i=0 i<n-1 i++)
for(j=0 j<n-1-i j++)
if(arr[j] < arr[j+1])
{
temp = arr[j]
arr[j] = arr[j+1]
arr[j+1] = temp
}
}
//输出数组元素
void display(double arr[], int n)
{
int i
for(i=0 i<n i++)
printf("%lf ", arr[i])
printf("\n")
}
//主函数
int main()
{
double arr[] = {49.5, 38.2, 65.1, 97.0, 76.8, 13.4, 27.9, 49.5}
int n = 8
printf("排序前:\n")
display(arr, n)
sort(arr, n)
printf("排序后:\n")
display(arr, n)
return 0
}
运行测试:
public static List getArrayOrder(ArrayList array){
List imagesArray = new
ArrayList()
String[] oArray = new
String[array.size()]
//将排列好的数组循环加入到数组LIST中
for (int i = 0i <
oArray.lengthi++)
{
imagesArray.add(oArray[i])
}
//数组LIST倒序
Collections.reverse(imagesArray)
return imagesArray
}
你现在的数组是否是升序的?还是杂乱的?另外,你倒序是必须要倒序排列数据还是仅仅是倒序输出而已,如果仅仅是输出可以不排序, 从后往前打印就行了。
下面这个例子是将升序数据倒序排列并输出
#include <stdio.h>
#define N 6
int main(void)
{
int num[N] = {1, 2, 3, 4, 5, 6}
int i, temp
for (i = 0i <N / 2i++) { // 将升序数据倒序排列
temp = num[i]
num[i] = num[N - 1 - i]
num[N - 1 - i] = temp
}
for (i = 0i <Ni++) { // 循环输出倒序后的数据
printf("%d\n", num[i])
}
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)