排序
来源:互联网 发布:淘宝视频连接不是私密 编辑:程序博客网 时间:2024/06/06 12:29
1 冒泡排序
#include<stdio.h>#include<stdlib.h>int bubble(int array[],int n);int main(){ int n,i; scanf("%d",&n); int *p=(int *)malloc(n*sizeof(int)); for(i=0;i<n;i++) scanf("%d",&p[i]); bubble(p,n); for(i=0;i<n;i++) printf("%d ->",p[i]); return 0;}int bubble(int array[],int n){ int m,j,temp; for(m=0;m<n;m++) for(j=0;j<n-m-1;j++) if(array[j]>array[j+1]){ temp=array[j]; array[j]=array[j+1]; array[j+1]=temp; } return 0;}
直接插入排序
#include<stdio.h>#include<stdlib.h>int bubble(int array[],int n);int insert_sort(int array[],int n);int main(){ int n,i; scanf("%d",&n); int *p=(int *)malloc(n*sizeof(int)); for(i=0;i<n;i++) scanf("%d",&p[i]); //bubble(p,n); insert_sort(p,n); for(i=0;i<n;i++) printf("%d ->",p[i]); return 0;}int bubble(int array[],int n){ int m,j,temp; for(m=0;m<n;m++) for(j=0;j<n-m-1;j++) if(array[j]<array[j+1]){ temp=array[j]; array[j]=array[j+1]; array[j+1]=temp; } return 0;}int insert_sort(int array[],int n){ int i,j,key; for(i=1;i<n;i++){ key=array[i]; j=i-1; for(;j>=0;j--){ if(key<array[j]) array[j+1]=array[j]; if(key>array[j]) break; } array[j+1]=key; } return 0;}
while()#include<stdio.h>#include<stdlib.h>#include<malloc.h>int bubble(int array[],int n);int insert_sort(int array[],int n);int main(){ int n,i,*p; scanf("%d",&n); p=(int *)malloc(n*sizeof(int)); for(i=0;i<n;i++) scanf("%d",&p[i]); //bubble(p,n); insert_sort(p,n); for(i=0;i<n;i++) printf("%d ->",p[i]); return 0;}int bubble(int array[],int n){ int m,j,temp; for(m=0;m<n;m++) for(j=0;j<n-m-1;j++) if(array[j]<array[j+1]){ temp=array[j]; array[j]=array[j+1]; array[j+1]=temp; } return 0;}int insert_sort(int array[],int n){ int l,j,key; for(l=1;l<n;l++){ key=array[l];j = l; while(key<array[--j]){ array[j+1]=array[j]; } array[j+1]=key; } return 0;}
希尔排序int shell_sort(int array[],int n){int i,j,d; int temp; d=n/2; while(d>0){ for(i=d;i<n;i++){ j=i-d; while(j>=0 && array[j]>array[j+d]){ temp=array[j]; array[j]=array[j+d]; array[j+d]=temp; j=j-d; } } d=d/2; } return 0;}快排
int quick_sort(int array[],int start,int end){ int i,j; int temp; i=start; j=end; if(start<end){ temp=array[start]; while(i!=j){ while(i<j &&array[j]>temp) j--; if(i<j){ array[i]=array[j]; i++;} while(i<j && array[i]<temp) i++; if(i<j){ array[j]=array[i]; j--;} } array[i]=temp; quick_sort(array,1,i-1); quick_sort(array,i+1,end); }选择排序int select_sort(int array[],int n){ int i,j,k; int temp; for(i=0;i<n;i++) { k=i; for(j=i;j<n;j++){ if(array[j]<array[k]) k=j; } if(k!=i) { temp=array[i]; array[i]=array[k]; array[k]=temp; } } return 0;}
0 0
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- js读取远程图片成为base64
- 关于自定义DeletableEditText
- Android java 中如何优雅的结束线程
- Windows下Git GUI创建新的仓库出现"no working directory"
- win8秘钥
- 排序
- Linux下的压缩zip,解压缩unzip命令详解及实例
- Intent直接跳转到Fragment
- JAVA编程中Thread类
- Partial Derivatives(偏导数)
- 利用ViewPager实现3D画廊效果及其图片加载优化
- Node.js初始-JavaScript学习笔记(一)
- SpringMVC表单标签简介
- 一句话总结Windbg 32位版本和64位版本的选择