//冒泡排序法,升序输出
void ascendX(int arr[],int len)
{
int temp;
for (int i=0; i<len-1; i++) {
for (int j=0 ; j<len-i-1; j++) {
if (arr[j] > arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
for (int k=0; k<len; k++) {
printf("%d\t",arr[k]);
}
}
//选择排序法,降序输出
void descendY(int arr[],int len)
{
for (int i=0; i<len-1; i++) {
int tempIndexMax = i;
for (int j=i+1; j<len; j++) {
if (arr[tempIndexMax] < arr[j]) {
tempIndexMax = j;
}
}
int temp = arr[i];
arr[i] = arr[tempIndexMax];
arr[tempIndexMax] = temp;
}
for (int k=0; k<len; k++) {
printf("%d\t",arr[k]);
}
}
int main(int argc, const char * argv[]) {
int arr[] = {4,5,6,7,1,2,3,49,7,56,34};
int len = sizeof(arr) / sizeof(int);
//升序输出数组元素
ascendX(arr, len);
printf("华丽的分割线--------------\n");
//降序输出数组元素
descendY(arr, len);
return 0;
} |
|