
用选择排序法对奇数下标的数组元素进行降序排列;用冒泡排序法对偶数下标的数组元素进行升序排列。
编程要用主编是孙亚飞的那本教材上的格式来写,即开始应为#include<stdio.h>voidmain()而不是#include<iostream>usingnames...
编程要用主编是孙亚飞的那本教材上的格式来写,即开始应为#include<stdio.h>
void main() 而不是#include<iostream> using namespace std; int main() 最后输出用printf("\n");...结束的。。。急求啊,急求啊。。。可追加分的。。。 展开
void main() 而不是#include<iostream> using namespace std; int main() 最后输出用printf("\n");...结束的。。。急求啊,急求啊。。。可追加分的。。。 展开
3个回答
展开全部
冒泡的原理:相邻的元素比较,不停的交换
选择排序原理:标记一个暂时的最大/小元素,循环比较,然后变换最大/小元素标记位置。循环完后,交替位置。
我写了一个java实现你这个要求的程序,你可以看看:
public class ArraySort {
/**
* @param args
*/
public static void main(String[] args) {
int array[] = {2,6,4,3,10,7,8,1,9,5};
//偶数组 冒泡排序
for(int i=0;i<10;i=i+2){
for(int j=8;j>=i;j=j-2){
if(array[j]<array[i]){
int temp =array[i];
array[i] = array[j];
array[j] = temp;
}
}
// System.out.println(array[i]);//偶数下标元素排出来的升序
}
//奇数组 选择排序
for(int i=1;i<10;i=i+2){
int flag = i;
for(int j=i;j<10;j=j+2){
if(array[j]>array[flag]){
flag = j;
}
}
if(flag!=i){
int temp =array[i];
array[i] = array[flag];
array[flag] = temp;
}
// System.out.println(array[i]);//奇数下标元素排出来的降序
}
//打印结果
for(int i=0;i<10;i++){
System.out.print(array[i]+" ");
}
}
}
选择排序原理:标记一个暂时的最大/小元素,循环比较,然后变换最大/小元素标记位置。循环完后,交替位置。
我写了一个java实现你这个要求的程序,你可以看看:
public class ArraySort {
/**
* @param args
*/
public static void main(String[] args) {
int array[] = {2,6,4,3,10,7,8,1,9,5};
//偶数组 冒泡排序
for(int i=0;i<10;i=i+2){
for(int j=8;j>=i;j=j-2){
if(array[j]<array[i]){
int temp =array[i];
array[i] = array[j];
array[j] = temp;
}
}
// System.out.println(array[i]);//偶数下标元素排出来的升序
}
//奇数组 选择排序
for(int i=1;i<10;i=i+2){
int flag = i;
for(int j=i;j<10;j=j+2){
if(array[j]>array[flag]){
flag = j;
}
}
if(flag!=i){
int temp =array[i];
array[i] = array[flag];
array[flag] = temp;
}
// System.out.println(array[i]);//奇数下标元素排出来的降序
}
//打印结果
for(int i=0;i<10;i++){
System.out.print(array[i]+" ");
}
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
冒泡排序:
/*冒泡排序法*/
#include <stdio.h>
void main()
{
int a[10];
int i,j,temp;
printf("Input 10 mumbers:\n");
for (i=0;i<10;i++)
scanf("%d",&a[i]);
for (i=0;i<9;i++)
{
for (j=0;j<9-i;j++)
if (a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
printf("After array:");
for (i=0;i<10;i++)
printf("%d\t\n",a[i]);
}
/*冒泡排序法*/
#include <stdio.h>
void main()
{
int a[10];
int i,j,temp;
printf("Input 10 mumbers:\n");
for (i=0;i<10;i++)
scanf("%d",&a[i]);
for (i=0;i<9;i++)
{
for (j=0;j<9-i;j++)
if (a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
printf("After array:");
for (i=0;i<10;i++)
printf("%d\t\n",a[i]);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询