冒泡排序,动态结构体数组举例
来源:互联网 发布:模拟股指期货交易软件 编辑:程序博客网 时间:2024/05/21 17:06
冒泡排序
#include <stdio.h>// 交换数组中指定两个位置的元素void swap(int * pArr, int pos1, int pos2) {int temp = pArr[pos1];pArr[pos1] = pArr[pos2];pArr[pos2] = temp;}// 冒泡排序void sort(int * pArr, int len) {int i, j;for (i = 0; i < len - 1; i++) {for (j = 0; j < len - 1 - i; j++) {if (pArr[j] > pArr[j + 1]) {swap(pArr, j, j + 1);}}}}// 打印void printArr(int * pArr, int len) {int i = 0;for (; i < len; i++) {printf("%d, ", pArr[i]);}printf("\n");}int main(void) {int a[6] = { 8, 3, 6, 2, 5, 0 };printArr(a, 6);sort(a, 6);printArr(a, 6);return 0;}
动态结构体数组举例
#include <stdio.h>#include <malloc.h>#include <string.h>/*1, 需求学生信息管理系统, 存放所有学生信息, 按分数排序输出2, 设计1) 用数组 存放 所有学生2) 用结构体 描述 每个学生3) 使用 冒泡排序 对学生进行排序 */// 定义结构体struct Student {char name[100];// 姓名float score;// 分数};// 添加学生void addStu(struct Student * pStuArr, char name[100], float score, int index) {strcpy( pStuArr[index].name, name);pStuArr[index].score = score;}// 排序, 按分数降序void sort(struct Student * pStuArr, int len) {int i, j;struct Student temp;for (i = 0; i < len - 1; i++) {for (j = 0; j < len - 1 - i; j++) {if (pStuArr[j].score < pStuArr[j+1].score) {temp = pStuArr[j];// 换学生在数组中的位置, 而不是学生的成绩pStuArr[j] = pStuArr[j+1];pStuArr[j+1] = temp;}}}}// 打印所有学生void printStus(struct Student * pStuArr, int len) {int i;for (i = 0; i < len; i++) {printf("%s, %f \n", pStuArr[i].name, pStuArr[i].score);}}int main(void) {int len = 5;struct Student * stuArr;// 动态构建数组stuArr = (struct Student *) malloc( sizeof(struct Student) * len );int index = 0;// 录入学生信息// scanf("%f", &stuArr[i].score) 给 学生的 score 赋值// scanf("%s", stuArr[i].name) 给学生 name 赋值, name本身就是 char数组的首地址,无需用"&"addStu(stuArr, "小红-66", 66.6f, index++);addStu(stuArr, "大红-55", 55.5f, index++);addStu(stuArr, "大黄-88", 88.8f, index++);addStu(stuArr, "小黄-77", 77.7f, index++);addStu(stuArr, "晓晓-44", 44.4f, index++);// 给学生排序, 按分数 降序sort(stuArr, len);// 打印printStus(stuArr, len);return 0;}
- 冒泡排序,动态结构体数组举例
- 利用数组进行冒泡法排序举例
- 冒泡排序举例
- 对结构体数组进行冒泡排序(根据名字大小)
- 冒泡算法对动态数组排序
- 冒泡排序和结构体
- 9.结构体+冒泡排序
- 使用结构体构造数组举例
- C语言编程——次数排序--结构体数组及冒泡排序法
- 动态数组实现冒泡排序与选择排序
- 结构体数组排序
- 结构体数组排序
- 结构体数组排序
- 选择排序和冒泡排序举例
- 数组排序-冒泡排序
- 数组排序---冒泡排序
- 冒泡选择排序 二维数组 虚方法 隐藏方法 枚举 类 结构体 构造方法
- C语言之分支结构 字符数组 冒泡排序
- [C++]类型转换
- Modis植被指数说明
- Android应用--简、美音乐播放器实现专辑倒影效果
- 创建不使用XAML的WPF程序
- 【Arduino】开源开发板说明
- 冒泡排序,动态结构体数组举例
- 0048算法笔记——【随机化算法】拉斯维加斯随机化算法求解整数因子分解中的因子分割问题
- Image Super-Resolution as Sparse Representation of Raw Image Patches
- C语言文件操作
- CoreData基本教程
- Color数组赋值
- Tooth And Claw——3、Gabriel Ernest
- 有1、2、3、4个数字,能组成多少个互不相同且无重复的三位数字
- CentOS下安装JDK7