랜덤으로 5개의 수를 뽑고 오름차순으로 정렬하는 코드입니다.
package com.example.binarysorting;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import java.util.Random;
public class MainActivity extends AppCompatActivity {
final Random myRandom = new Random();
private TextView Text, Sorted_test, Log;
int Init_numbers[] = {9,5,6,0,3};
int Array_size = 5;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Text = (TextView) findViewById(R.id.mytext);
Sorted_test = (TextView) findViewById(R.id.sorted_text);
Log = (TextView) findViewById(R.id.log);
//1
String Init_numbers_string = Make_String_from_Array(Init_numbers);
Text.setText(Init_numbers_string);
//2
//Text.setText(Make_String_from_Array(Init_numbers));
}
public String Make_String_from_Array(int[]init){
String output = "";
for (int i=0;i<Array_size;i++){
output = output + init[i] + ", ";
}
return output;
}
public int[] Binary_sorting(int[] init, int length) {
//int output[] = new int[length];
int Number_1, Number_2, Number_swap;
Log.setText("Original array \n" + Make_String_from_Array(init) +"\n");
String Sorting_status = "";
for (int step = 0; step < length - 1; step++) {
Log.setText(Log.getText() + "step " + step + "\n");
for (int substep = step + 1; substep < length; substep++) {
Number_1 = init[step];
Number_2 = init[substep];
if (Number_1 > Number_2) {
//swap
Number_swap = Number_1;
Number_1 = Number_2;
Number_2 = Number_swap;
Sorting_status = "swap";
}
else {
//skip
Sorting_status = "skip";
}
init[step] = Number_1;
init[substep] = Number_2;
Log.setText(Log.getText() + Make_String_from_Array(init) + "|");
Log.setText(Log.getText() + "substep: " + substep +"("+Sorting_status +")\n");
}
}
return init;
}
public void click_generate(View view){
for (int i=0;i<Array_size;i++){
Init_numbers[i] = myRandom.nextInt(100);
}
Text.setText(Make_String_from_Array(Init_numbers));
Sorted_test.setText("");
Log.setText("");
}
public void click_sort(View view){
int Sorted_array[] = Binary_sorting(Init_numbers,Array_size);
Sorted_test.setText(Make_String_from_Array(Sorted_array));
}
}
'실시간 운영체제' 카테고리의 다른 글
[실시간 운영체제] Open GL draw house (0) | 2023.06.14 |
---|---|
[실시간 운영체제] Open GL primitives (0) | 2023.06.14 |
[실시간 운영체제] 연산 확인 작업 (pt.2) (0) | 2023.04.27 |
[실시간 운영체제] 계산기 (0) | 2023.04.27 |
[실시간 운영체제] 환율 계산기 (0) | 2023.04.27 |