📅  最后修改于: 2023-12-03 15:25:55.825000             🧑  作者: Mango
在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中。
<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>
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应用中使用这些算法实现排序并输出结果。