zoukankan      html  css  js  c++  java
  • 冒泡法、选择法、插入法排序

    冒泡法、选择法、插入法排序

    #include<stdio.h>
    void inputArray(int a[], int n);		//输入数组元素 
    void outputArray(int a[], int n);		//输出数组元素 
    void sort01(int a[], int n);		//冒泡法排序 
    void sort02(int a[], int n);		//选择法排序 
    void sort03(int a[], int n);		//插入法排序 
    int main()
    {
    	int n;
    	printf("请输入数组的长度:
    ");
    	scanf("%d", &n);
    	int a[n];
    	//测试冒泡法排序 
    	inputArray(a, n);
    	sort01(a, n);
    	outputArray(a, n);
    	//测试选择法排序 
    	inputArray(a, n);
    	sort02(a, n);
    	outputArray(a, n);
    	//测试插入法排序 
    	inputArray(a, n);
    	sort03(a, n);
    	outputArray(a, n);
    	return 0;
    }
    //输入数组元素 
    void inputArray(int a[], int n)
    {
    	printf("
    请输入这些数组的元素:
    ");
    	for(int i = 0; i < n; i++)
    	scanf("%d", &a[i]);
    }
    //输出数组元素 
    void outputArray(int a[], int n)
    {
    	printf("输出结果如下:
    "); 
    	for(int i = 0; i < n; i++)
    	printf("%d	", a[i]);
    } 
    
    //冒泡法排序 
    void sort01(int a[], int n)
    {
    	printf("
    冒泡法排序:
    ");
    	int temp = 0;
    	for(int i = 1; i < n; i++)
    	{
    		for(int j = 0; j < n - i; j++)//每次循环完毕最大值已挪至最后元素 
    		{
    			if(a[j] > a[j+1])
    			{
    				temp = a[j];
    				a[j] = a[j+1];
    				a[j+1] = temp;
    			}
    		}
    	}
    }
    
    //选择法排序
    void sort02(int a[], int n)
    {
    	printf("
    选择法排序:
    ");
    	int temp = 0;
    	for(int i = 0; i < n - 1; i++)
    	{
    		for(int j = i + 1; j < n; j++)//每次循环将最小值挪至最前下标 
    		{
    			if(a[i] > a[j])
    			{
    				temp = a[i];
    				a[i] = a[j];
    				a[j] = temp;
    			}
    		}
    	}
    }
    
    //插入法排序
    void sort03(int a[], int n)
    {
    	printf("
    插入法排序:
    ");
    	int temp = 0;
    	for(int i = 1; i < n; i++)
    	{
    		for(int j = i; j > 0; j--)//每次循环将最大值挪至最后下标 
    		{
    			if(a[j] < a[j-1])
    			{
    				temp = a[j];
    				a[j] = a[j-1];
    				a[j-1] = temp;	
    			}	
    		}	
    	}	
    } 
    
  • 相关阅读:
    webpack入门
    react中的this.setState()
    Echarts学习之路3(在react中使用)
    Echarts学习之路2(基本配置项)
    react+mobx脚手架搭建多页面开发
    解决使用插件带来的页面弹框滚动穿透问题
    屏蔽微信内置底部前进后退按钮(很迫切的需求)
    input框输入金额处理的解决办法
    git仓库的创建以及本地代码上传
    又发现了一个git clone代码失败时的解决办法
  • 原文地址:https://www.cnblogs.com/gaoliwei1102/p/12996333.html
Copyright © 2011-2022 走看看