冒泡排序和查找数组中最大的数及查找两个数中最大的数
来源:互联网 发布:爱淘宝精品推荐 编辑:程序博客网 时间:2024/06/07 02:00
一 求两个数中最大的数
1 显示效果
2 代码
#include <stdio.h>int main(){int a = 5, b = 8; //求两个数中最大的数,并将最大的数放在变量a中,并打印出变量a的值int tmp = 0;if (a < b){tmp = a ;a = b;b = tmp;}printf("两个数中最大的数是%d" , a);getchar();return 0;}
二 求一个有10个整数的整形数组中的最大的整数,并将这个最大的数移动到数组最后的位置
1 显示效果
2 代码
#include <stdio.h>//打印数组void PrintArray(int a[], int len){int i = 0;for (i = 0; i < len; i++){printf("%d ", a[i] );}}//选出最到的数并移动到数组的最后void MoveMaxToArrayEnd(int * a, int len){int i = 0 , tmp =0;for (i = 0; i < len-1; i++){if (a[i]>a[i + 1]){tmp = a[i];a[i] = a[i + 1];a[i + 1] = tmp;}}}int main(){printf("将数组中最大数移动大数组的最后\n");int a[10] = {3,5,2,6,0,9,7,4,8,1};printf("\n移动前的数据\n");PrintArray(a, 10);MoveMaxToArrayEnd(a, 10);printf("\n移动后的数据\n");PrintArray(a, 10);getchar();return 0;}
三 冒泡排序
1 冒泡排序的算法:每次都是数组中相邻的两个数两两比较,每次选出最大的一个数,并进行交换。
2 显示效果:
3 代码
#include <stdio.h>/** 冒泡排序:每次都是数组中相邻的两个数两两比较,每次选出最大的一个数,并进行交换。执行完第一遍在10个数里选出这个数组里第一大的数(或第一小的数),放在数组的第10个位置(即数组下标为9的位置),执行完第二遍在9个数里选出这个数组里第二大的数(或第二小的数),放在数组的第9个位置(即数组下标为8的位置),.....执行完第十遍在1个梳理选出这个数组里第十的数(或第十小的数),放在数组的第1个位置(即数组下标为0的位置)**/void PrintfArray(int *a , int len){int i = 0;for (i = 0; i < len; i++){printf("%d ", a[i]);}}void sort(int a[] , int len){int i = 0 , j = 0 , tmp = 0;for (i = 0; i < len;i++){for (j = 0; j < len - 1; j++)//注意这里不能写成j< len ,如果这样会造成数组越界比较(a[9]会和a[10]比较,a[10]是个随机数,这样会造成错误){if (a[j]>a[j + 1]){tmp = a[j];a[j] = a[j + 1];a[j + 1] = tmp;}}printf("第%d趟比较\n", i+1);PrintfArray(a, len);printf("\n");}}int main(){int a[10] = { 3, 5, 2, 6, 0, 9, 7, 4, 8, 1 };int i = 0;printf("排序前的数据:\n");PrintfArray(a, 10);printf("\n---------------------------------\n");sort(a,10);//冒泡排序函数调用getchar();return 0;}
0 0
- 冒泡排序和查找数组中最大的数及查找两个数中最大的数
- 【面试题-编程】查找数组中差值最大的两个数
- 查找数组中最大的两个数(Find two Largest Number)
- 两个数中显示最大的数
- 【100题】在排序数组中查找和为给定值的两个数
- 排序数组中查找和为给定值的两个数O(n)
- 【Data Structure & Algorithm】在排序数组中查找和为定值的两个数
- 在给定数组中查找两个数的和等于给定的数
- 选择数组中最大或者最小的两个数
- 在一个数组中找到最大的两个数
- 从数组中找出最大的前两个数
- 从数组中查找出最大最小两数的log(n)算法
- 从数组中查找出最大最小两数的log(n)算法
- 查找无序数中最大k个数
- 运用冒泡法输出十个数中最大的数
- 两个数中显示最大的
- 三个数中取出最大的两个
- 矩阵中最大的两个数
- tensorflow data reading (2)
- UnityWebPlayer打开文件
- Visual C++解决error C2859问题
- layer iframe层的使用,传参
- 罗辑思维-无广告的增强知识收集器
- 冒泡排序和查找数组中最大的数及查找两个数中最大的数
- Sysdig:Linux服务器监控和排障利器
- 分治思想之归并排序
- 新手常见的python运行错误
- WebView学习一
- [转]微架构设计:微博计数器的设计
- J2ee高并发情况下监听器
- [LeetCode] 424. Longest Repeating Character Replacement 解题报告
- mybatis笔记