1. 首页 > 科技快讯 >

简单的代码程序(很简单的代码)

今天小篇来给大家分享一些关于很简单的代码方面的知识吧,希望大家会喜欢哦

简单的代码程序(很简单的代码)简单的代码程序(很简单的代码)


1、#include #include #define NUM 10/* run this program using the console pauser or add your own getch, system("pause") or input loop *///冒泡排序算法//基本思想:比较相邻的两个数,如果前者比后者大,则进行交换。

2、每一轮排序结束,选出一个未排序中最大的数放到数组后面。

3、void bubbleSort(int *arr, int n) {int i,j;for (i = 0; ifor (j = 0; j //如果前面的数比后面大,进行交换if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}//最差时间复杂度为O(n^2),平均时间复杂度为O(n^2)。

4、稳定性:稳定。

5、辅助空间O(1)。

6、//升级版冒泡排序法:通过从低到高选出最大的数放到后面,再从高到低选出最小的数放到前面,//如此反复,直到左边界和右边界重合。

7、当数组中有已排序好的数时,这种排序比传统冒泡排序性能稍好。

8、//升级版冒泡排序算法void bubbleSort_1(int *arr, int n) {//设置数组左右边界int left = 0, right = n - 1;//当左右边界未重合时,进行排序while (leftint i,j;//从左到右遍历选出最大的数放到数组右边for (i =left; i if (arr[i] > arr[i + 1]) {int temp = arr[i];arr[i] = arr[i + 1];arr[i + 1] = temp;}}right--;//从右到左遍历选出最小的数放到数组左边for (j = right; j> left; j--) {if (arr[j + 1] int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}left++;}}int main(int argc, char *argv[]) {int arr[NUM],i,j,temp;printf("请输入10个数:\n");for(i=0; iprintf("请输入第(%d)个数:",i+1);scanf("%d",&arr[i]);}printf("\n输入如下排列:\n");for(i=0; iprintf("%4d",arr[i]);}/*for(i=0; ifor(j=i+1; jif(arr[i]>arr[j]) {temp=arr[i];arr[i]=arr[j];arr[j]=temp;}}}*/bubbleSort_1(arr,NUM);/*printf("\n从小到大如下排列:\n");for(i=0; iprintf("%4d",arr[i]);}*/printf("\n从大到小如下排列:\n");for(i=NUM-1; i>=0; i--) {printf("%4d",arr[i]);}return 0;}。

本文到这结束,希望上面文章对大家有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至836084111@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息