选择法数组排序参考(Java)
package com.swift; public class Xuanze { public static void main(String[] args) { int[] arr= {28,2,38,1,390,17,10,9,323}; for(int i=0;i<arr.length;i++) { for(int j=i+1;j<arr.length;j++) { if(arr[i]>arr[j]) { int temp; temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } } } for(int i=0;i<arr.length;i++) { System.out.println(arr[i]); } } }
c++代码:
//思路:用一个数组元素和所有其他的元素PK,谁小谁放第一个
#include <iostream> using namespace std; int main(){ //声明一维数组?整型的一维数组,就是数组中所有的元素都是int int arr[10]={23,234,3,1,19,21,231,88,90,11}; for(int i=0;i<10;i++){ cout<<"一维数组的第 "<<i<<" 个值是 "<<arr[i]<<endl; } //请你给刚才的数组的进行排序,要求从小到大输出 (选择法) // for(int i=0;i<10-1;i++){ // for(int j=i+1;i<10;j++){ // if(array[i]>array[j]){ // int temp; // temp=array[i]; // array[i]=array[j]; // array[j]=temp; // } // } // } for(int i=0;i<10-1;i++) { for(int j=i+1;j<10;j++) { if(arr[i]>arr[j]) { int temp; temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } } } //排序后再遍历字符一下数组 for(int i=0;i<10;i++){ cout<<"遍历后一维数组的第 "<<i<<" 个值是 "<<arr[i]<<endl; } return 0; }
第二个for开始写成i<10了,出现了内存不能读错误,j无限变大,dev编译器没有有效提示,不好
Never waste time any more, Never old man be a yong man