冒泡排序,选择排序
来源:互联网 发布:网络剧制作播出许可证 编辑:程序博客网 时间:2024/05/17 07:28
#include <stdio.h>#include <stdlib.h>void initArray(int*);void bubbleSort (int*, int);void showArray(int*, int);void swap(int*, int*);void selectionSort(int*, int);int main(int argc,char* argv[]){int *array = new int[100];//array[arraySize] = {2,13,4,55,7,1,23,122,11,90};int arraySize = 0;printf("打算定义一个几维的数组?\n");scanf("%d", &arraySize);printf("\n请输入%d个整数:\n",arraySize);for (int i = 0 ; i < arraySize; i++){scanf("%d", array + i);}//array = (int*)malloc(sizeof(int)*arraySize);//initArray(array);//int arraySize = sizeof(array)/sizeof(int);//printf("%d!!\n",arraySize);printf("\n你输入的数组是: \n");showArray(array, arraySize);printf("\n冒泡排序后,从小到大:\n"); bubbleSort(array, arraySize);showArray(array, arraySize);printf("\n选择排序后,从大到小: \n");selectionSort(array,arraySize);showArray(array, arraySize);//free (array);delete [] array;return 0;}void swap(int* x, int* y){int temp;temp = *x;*x = *y;*y = temp;}void showArray(int* array, int arraySize){for (int i = 0; i < arraySize; i++){printf("%d, ", array[i]);}printf("\n");}void bubbleSort(int* array, int arraySize){int i, j;for (i = 0; i < arraySize-1; i++){for( j = 0; j < arraySize-i-1; j++){if (array[j] > array[j+1]){swap(&array[j], &array[j+1]);}}}}void selectionSort(int* array, int arraySize){int i, j, min;for (i = 0; i < arraySize-1; i++){min = i;for (j = i+1; j < arraySize; j++){if (array[j] > array[min])min = j;}if (i != min)swap(&array[i], &array[min]);}}
0 0
- 冒泡排序 选择排序
- 冒泡排序、选择排序
- 冒泡排序 选择排序
- 选择排序 冒泡排序
- 冒泡排序/选择排序
- 冒泡排序/选择排序
- 冒泡排序 选择排序
- 选择排序冒泡排序
- 选择排序 冒泡排序
- 冒泡排序、选择排序
- 冒泡排序,选择排序
- 选择排序-【冒泡排序】
- 冒泡排序,选择排序
- 选择排序&冒泡排序
- 冒泡排序选择排序
- 选择排序,冒泡排序
- 冒泡排序&选择排序
- 冒泡排序、选择排序
- 选择排序(Java版)
- Android 分享一个流量显示界面
- UITableViewCell 的巧妙复用
- 黑马程序员——Java的保留关键字
- C#安装部署打包SQLSERVER数据库
- 冒泡排序,选择排序
- [ACM] HDU 2295 Radar (二分+DLX 重复覆盖)
- Android 网络请求方式
- 迷宫问题DFS
- Linux上安装Mahout的方法步骤
- 优先队列详解(转载)
- Adnroid 通过HttpURLConnection模拟post表单提交
- 我的vim使用心得
- C++九月学习感悟