📜  排序数组<entry>float android studio - Java (1)

📅  最后修改于: 2023-12-03 15:25:55.825000             🧑  作者: Mango

排序数组 Android Studio - Java

在Android Studio中,我们经常需要对一些数据进行排序。本文将介绍如何使用Java代码在Android应用中对一个数组进行排序。

排序算法

本文将介绍两种排序算法:冒泡排序和快速排序。具体实现代码如下:

冒泡排序
public void bubbleSort(float[] arr) {
    int len = arr.length;
    for (int i = 0; i < len - 1; i++) {
        for (int j = 0; j < len - 1 - i; j++) {
            if (arr[j] > arr[j + 1]) {
                float temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}
快速排序
public void quickSort(float[] arr, int left, int right) {
    if (left >= right) return;
    int i = left, j = right;
    float pivot = arr[left];
    while (i < j) {
        while (i < j && arr[j] >= pivot) j--;
        arr[i] = arr[j];
        while (i < j && arr[i] <= pivot) i++;
        arr[j] = arr[i];
    }
    arr[i] = pivot;
    quickSort(arr, left, i - 1);
    quickSort(arr, i + 1, right);
}
使用示例

下面是一个使用示例,通过按钮点击事件执行排序后将结果输出到TextView中。

XML布局文件
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    <Button
        android:id="@+id/btn_bubble_sort"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Bubble sort" />
    <Button
        android:id="@+id/btn_quick_sort"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Quick sort" />
    <TextView
        android:id="@+id/tv_result"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</LinearLayout>
Java代码
public class MainActivity extends AppCompatActivity {

    private float[] mData = {3.2f, 1.5f, 4.8f, 2.9f, 5.7f};

    private Button mBtnBubbleSort;
    private Button mBtnQuickSort;
    private TextView mTvResult;

    private void initView() {
        mBtnBubbleSort = findViewById(R.id.btn_bubble_sort);
        mBtnQuickSort = findViewById(R.id.btn_quick_sort);
        mTvResult = findViewById(R.id.tv_result);

        mBtnBubbleSort.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                float[] arr = mData.clone();
                bubbleSort(arr);
                mTvResult.setText(Arrays.toString(arr));
            }
        });

        mBtnQuickSort.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                float[] arr = mData.clone();
                quickSort(arr, 0, arr.length - 1);
                mTvResult.setText(Arrays.toString(arr));
            }
        });
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        initView();
    }

    public void bubbleSort(float[] arr) {
        // 冒泡排序实现代码
    }

    public void quickSort(float[] arr, int left, int right) {
        // 快速排序实现代码
    }
}
总结

本文介绍了在Android Studio中对一个数组进行排序的两种算法:冒泡排序和快速排序。通过示例代码,我们可以快速了解如何在Android应用中使用这些算法实现排序并输出结果。