java整型存储数组若干个排序_java:.定义一个数组,存储10个整数,对这10个整数进行从小到大排序后输出。...

匿名用户

1级

2011-12-28 回答

public class Composit {

/*

* 插入排序法,把无序数组里的一个数插入有序数组中 即插入前半截有序序列。

*/

public void insertSort(int a[]){

for(int i=1;i

//准备要插入的数

int insertVal=a[i];

int index=i-1;

//判断是否小于前面的数

while(index>=0 && insertVal

//将插入位的数后移

a[index+1]=a[index];

//坐标迁移

index--;

}

//插入到合适位置

a[index+1]=insertVal;

}

}

public static void main(String args[]){

Composit c = new Composit();

int len =10;

int int_a[]=new int[len];

for(int i=0; i

int_a[i]=(int) (Math.random()*len);

}

System.out.println("排序前"+Calendar.getInstance().getTime());

for(int i =0 ; i < int_a.length;i++){

System.err.println(int_a[i]);

}

c.selectionSort(int_a);

System.out.println("排序后"+Calendar.getInstance().getTime());

for(int i =0 ; i < int_a.length;i++){

System.err.println(int_a[i]);

}

}

}

如果要其它排序法再说

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用冒泡排序或选择排序等算法对数组元素进行排序,具体步骤如下: 1. 定义一个长度为10的整型数组arry[10]; 2. 通过键盘输入数组元素值,可以使用循环语句和scanf函数实现; 3. 对数组元素进行排序,可以使用冒泡排序或选择排序等算法; 4. 冒泡排序的实现方法是,比较相邻的两个元素,如果前一个元素大于后一个元素,则交换它们的位置,重复进行直到整个数组排序完成; 5. 选择排序的实现方法是,每次从未排序的元素中选择最小的元素,将其放到已排序的末尾,重复进行直到整个数组排序完成; 6. 最后输出排序后的数组元素即可。 示例代码如下: #include <stdio.h> int main() { int arry[10]; int i, j, temp; // 输入数组元素值 printf("请输入10个整数:\n"); for (i = 0; i < 10; i++) { scanf("%d", &arry[i]); } // 冒泡排序 for (i = 0; i < 9; i++) { for (j = 0; j < 9 - i; j++) { if (arry[j] > arry[j + 1]) { temp = arry[j]; arry[j] = arry[j + 1]; arry[j + 1] = temp; } } } // 输出排序后的数组元素 printf("排序后的数组元素为:\n"); for (i = 0; i < 10; i++) { printf("%d ", arry[i]); } printf("\n"); return 0; } ### 回答2: 首先,根据题目要求定义一个长度为10的整型数组arr[10]。 然后,使用循环语句和输入函数,从键盘输入整型数值,并将每个值存入数组对应的元素中,代码如下: int arr[10]; for(int i=0;i<10;i++){ cin>>arr[i]; } 接着,我们可以使用选择排序或冒泡排序等算法对数组元素进行从小到大排序。这里以选择排序为例,其基本思路是依次选出最小值,然后将其放置在合适位置。 void SelectionSort(int arr[],int len){ for(int i=0;i<len-1;i++){ int min_index=i; for(int j=i+1;j<len;j++){ if(arr[min_index]>arr[j]) min_index=j; } if(i!=min_index){ int temp=arr[i]; arr[i]=arr[min_index]; arr[min_index]=temp; } } } 最后,我们再输出排好序的数组元素即可。 cout<<"排序后的数组元素为:"; for(int i=0;i<10;i++){ cout<<arr[i]<<" "; } 完整代码如下: #include<iostream> using namespace std; void SelectionSort(int arr[],int len); int main(){ int arr[10]; for(int i=0;i<10;i++){ cin>>arr[i]; } SelectionSort(arr,10); cout<<"排序后的数组元素为:"; for(int i=0;i<10;i++){ cout<<arr[i]<<" "; } cout<<endl; return 0; } void SelectionSort(int arr[],int len){ for(int i=0;i<len-1;i++){ int min_index=i; for(int j=i+1;j<len;j++){ if(arr[min_index]>arr[j]) min_index=j; } if(i!=min_index){ int temp=arr[i]; arr[i]=arr[min_index]; arr[min_index]=temp; } } } ### 回答3: 要定义一个长度为10的整型数组arry[10],可以使用以下代码: int arry[10]; 接下来需要使用循环语句和键盘输入语句,让用户输入数组元素值。可以使用for循环,将数组的下标i从0循环到9,每次循环让用户输入一个数字并将其赋值给数组对应位置的元素。可以使用如下代码实现这一步骤: for (int i = 0; i < 10; i++) { printf("请输入第%d个数组元素的值:", i + 1); scanf("%d", &arry[i]); } 接下来需要对数组进行排序。这里要求从小到大排序,可以使用选择排序或冒泡排序等算法来实现。这里以选择排序为例,介绍如何对数组进行从小到大排序。 选择排序的思路是每次从数组中选择一个最小的元素,放到已排序的序列的末尾,然后继续从未排序的元素中选择最小的,重复这个过程直到所有元素都被排序。可以使用双重循环实现选择排序,外层循环控制已排序序列的长度,内层循环在未排序序列中选择最小元素。这里使用如下代码实现从小到大排序: for (int i = 0; i < 9; i++) { int min_index = i; for (int j = i + 1; j < 10; j++) { if (arry[j] < arry[min_index]) { min_index = j; } } if (min_index != i) { int temp = arry[i]; arry[i] = arry[min_index]; arry[min_index] = temp; } } 最后可以使用循环语句,将排好序的数组元素输出到屏幕上。可以使用如下代码实现这一步骤: for (int i = 0; i < 10; i++) { printf("%d ", arry[i]); } printf("\n"); 整个程序的完整代码如下: #include <stdio.h> int main() { int arry[10]; for (int i = 0; i < 10; i++) { printf("请输入第%d个数组元素的值:", i + 1); scanf("%d", &arry[i]); } for (int i = 0; i < 9; i++) { int min_index = i; for (int j = i + 1; j < 10; j++) { if (arry[j] < arry[min_index]) { min_index = j; } } if (min_index != i) { int temp = arry[i]; arry[i] = arry[min_index]; arry[min_index] = temp; } } for (int i = 0; i < 10; i++) { printf("%d ", arry[i]); } printf("\n"); return 0; }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值