冒泡排序
来源:互联网 发布:钓炸天盗号软件app 编辑:程序博客网 时间:2024/06/09 16:38
题目:
编写冒泡排序,排序一个整形数组。
题目分析:
使用冒泡排序方式,对于一个n个元素的数组,至少要比较n-1个轮回,每个轮回将较大的数置到后面,最少比较n-2次,一直进行循环操作,最终能够排序一个整形数组。下面是具体的程序:
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <stdlib.h> void fun(int arr[]){ int i = 0; int j = 0; int temp = 0; for(i = 0; i < 9; i++) { for(j = 0; j < 9 -i; j++) { if(arr[j] > arr[j+1]) { temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } for(i = 0; i < 10; i++) { printf("%d ", arr[i]); } } int main(){ int arr[10] = {0}; int i = 0; printf("请输入需要排序的数:\n"); for(i = 0; i < 10; i++) { scanf("%d",&arr[i]); } fun(arr); system("pause"); return 0;}
题目:
使用冒泡排序,排序多个字符串。
题目分析:
对于字符串的排序,使用冒泡排序的方式,与上面排序整形数组相类似,只是字符串的比较是利用strcpy函数,比较字符的ASCII码大小。下面是具体的程序:
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <stdlib.h>#include <string.h>#define num 5 int main(){ int i = 0; int j = 0; char arr1[num][20] = {0}; char tmp[20] = {0}; printf("请输入需要比较的字符串:\n"); for(i = 0; i < num; i++) { scanf("%s",arr1[i]); } for(i = 0; i < num; i++) { for(j = 0; j < num - i; j++) { if(strcmp(arr1[j], arr1[j + 1]) > 0) { strcpy(tmp, arr1[j]); strcpy(arr1[j], arr1[j + 1]); strcpy(arr1[j + 1], tmp); } } } printf("输出字符串的比较结果:\n"); for(i = 0; i < num; i++) { printf("%s\n", arr1[i]); } system("pause"); return 0;}
本文出自 “无心的执着” 博客,转载请与作者联系!
0 0
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 编写一个函数,可以左旋字符串中k个字符
- 在字符串中找出第一个只出现一次的字符
- 字符串操作函数、数学函数
- 二维数组中的查找,杨氏矩阵
- SSM编辑时数据无法保存到数据库里
- 冒泡排序
- 找出一组数中只出现一次的两个数,其他所有数都是成对出现的
- strlen函数的三种实现方式
- 实现memcpy和memmove函数
- define和typedef区别
- 判断数字1在计算机中的存储方式
- 连接函数strcat与strncat
- 单链表
- 数据结构——栈与队列