3C语言提高标准---数组排序
2019-11-24 21:01
1341 查看
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int a[]={10,29,33,44,51,11,23,45,6,72,43,3}; int n; n=sizeof (a)/sizeof (a[0]);//计算数组元素个数 //数组排序前打印 printf("befor:"); for (int i=0;i<n;i++) { printf("%d ",a[i]); } printf("\n"); //排序 int temp; for (int i=0;i<n;i++) { for (int j=0;j<n-i-1;j++) { if(a[j]>a[j+1]) { temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } //数组排序后打印 printf("After:"); for (int i=0;i<n;i++) { printf("%d ",a[i]); } printf("\n"); return 0; } 运行结果:
函数封装: //如果数组作为函数参数,数组形参退化为指针 //void printf_array(int a[10],int n) //void printf_array(int *a,int n) void printf_array(int a[],int n) { for (int i=0;i<n;i++) { printf("%d ",a[i]); } printf("\n"); } void sort_array(int a[],int n) { int temp; for (int i=0;i<n;i++) { for (int j=0;j<n-i-1;j++) { if(a[j]>a[j+1]) { temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } } int main() { int a[]={10,29,33,44,51,11,23,45,6,72,43,3}; int n; n=sizeof (a)/sizeof (a[0]); printf("befor:\n"); printf_array(a,n); sort_array(a,n); printf("after:\n"); printf_array(a,n); return 0; }
运行结果:
相关文章推荐
- java学习笔记10:java语言数组常用排序(冒泡排序、选择排序、快速排序,直接插入排序)
- 18C语言提高深入浅出day7—03回调函数案例-实现对任意数据类型排序
- C语言基础与提高( 数组、函数 )
- c语言数组五种排序法:bubble,choise,quick,insert,shell 和js 数组排序sort的区别
- 黑马程序员---C 语言中快速排序数组,不额外占用内存空间
- 第 1 章 第 1 题 高级语言的排序问题 C++标准算法实现
- JAVA 中数组的几种排序方法 标准的!
- 黑马程序员——Java语言基础——02.java语言基础组成(4)数组及常用排序方法
- java等各种语言数组排序方法
- 泛型算法(只看了一点,待后续补充)(称为算法是因为它实现了一些经典算法的公共接口,如排序和搜索。称为泛型,是因为它可以用于不同类型的元素和多种容器类型,不仅包括标准库类型,还包括内置数组类型)
- 提高第27课时,实践3,项目3-数组的排序
- C 语言 实现int数组的插值排序
- 利用JS的动态语言特性对数组排序
- C语言基础知识之(六):数组-----数组类型、定义数组、读取数组、排序数组、字符串数组函数
- JAVA语言中数组的冒泡排序方法
- C/C++学习之C提高----C程序数组排序、数据类型(大小,别名,封装)、变量、程序的内存四区模型(栈,堆,全局,代码区)
- [java学习笔记]java语言基础概述之数组的定义&常见操作(遍历、排序、查找)&二维数组
- 2752:字符串数组排序问题(java语言)
- 提高项目25.1-数组的排序
- 语言数组排序小结