ESP-IDF:冒泡排序和选择排序测试代码
/冒泡排序/
void printarry16 (int arr[],int length) {
for(int i=0;i<length;i++) {
cout<<arr[i]<<" “;
}
cout<<endl;
}
void test16() {
int arr[] = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0,9, 8, 7, 6, 5, 4, 3, 2, 1, 0,9, 8, 7, 6, 5, 4, 3, 2, 1, 0};
int length = sizeof(arr)/sizeof(int);
cout<<”--------test 冒泡排序--------"<<endl;
printarry16(arr,length);
for(int i=0;i<length;i++) {//数组最左边的值不参与下次排序
for(int j =length-1;j>i;j--) {
if(arr[j-1]>arr[j]) {
int temp = arr[j-1];
arr[j-1] = arr[j];
arr[j] = temp;
}
}
}
printarry16(arr,length);
}
/选择排序/
void printarry17 (int arr[],int length) {
for(int i=0;i<length;i++) {
cout<<arr[i]<<" ";
}
cout<<endl;
}
void swap17(int arr[],int a, int b) {
int temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
void test17() {
int arr[] = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0,9, 8, 7, 6, 5, 4, 3, 2, 1, 0,9, 8, 7, 6, 5, 4, 3, 2, 1, 0};
int length = sizeof(arr)/sizeof(int);
cout<<“--------test 选择排序--------”<<endl;
printarry17(arr,length);
for(int i=0;i<length;i++) {//数组最左边的值不参与下次排序
int min = i;
for(int j =i;j<length;j++) {
if(arr[j]<arr[min]) {
min = j;
}
}
if(min != i) {
swap17(arr,i,min);
}
}
printarry17(arr,length);
}
extern “C” void app_main(void)
{
test16();
test17();
}