zoukankan      html  css  js  c++  java
  • C++ 内部排序(一)

    先讲两个概念,所谓内部排序,指待排序的节点均存储在内存中。所谓排序的稳定性,指排序后,值相等的两个元素原来相对的位置是否发生变化了.举个例子。

    待排序列:3(1),1,5,3(2)  稳定排序:1,3(1),3(2),5  不稳定排序:1,3(2),3(1),5

    下面写了插入排序,冒泡排序和选择排序.

    /*sorting functions*/
    #include <iostream>
    #define MAXN 7
    using namespace std;
    
    void insert_sort(int *a, int length);
    void buble_sort(int *a, int length);
    void select_sort(int *a, int length);
    
    int main()
    {
    	int a[MAXN] = {34, 12, 67, 33, 23, 56, 78};
    	int length = MAXN;
    	//insert_sort(a, length);
    	//buble_sort(a, length);
    	select_sort(a, length);
    	return 0;
    }
    
    /*稳定排序*/
    void insert_sort(int *a, int length)
    {
    	int temp;
    	int i,j;
    	for(i=1; i<length; i++)
    	{
    		temp = a[i];
    		for(j=i-1; j>=0 && temp<a[j]; j--)
    		{
    			a[j+1] = a[j];
    		}
    		a[j+1] = temp;
    	}
    
    	for(i=0; i<length; i++)
    	{
    		cout<<a[i]<<" ";
    	}
    	cout<<endl;
    }
    
    /*稳定排序*/
    void buble_sort(int *a, int length)
    {
    	int i,j,temp;
    	for(i=0; i<length; i++)
    	{
    		for(j=0; j<length-1; j++)
    		{
    			if(a[j]>a[j+1])
    			{
    				temp = a[j+1];
    				a[j+1] = a[j];
    				a[j] = temp;
    			}
    		}
    	}
    	for(i=0; i<length; i++)
    	{
    		cout<<a[i]<<" ";
    	}
    	cout<<endl;
    }
    
    /*不稳定排序*/
    void select_sort(int *a, int length)
    {
    	int i,j,k,temp;
    	for(i=0; i<length-1; i++)
    	{
    		k = i;
    		for(j=i+1; j<length; j++)
    		{
    			if(a[j]<a[k])
    			{
    				k=j;
    			}
    		}
    		temp = a[i];
    		a[i] = a[k];
    		a[k] = temp;
    	}
    	for(i=0; i<length; i++)
    	{
    		cout<<a[i]<<" ";
    	}
    	cout<<endl;
    }
    



    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    Pentest_Mind-mapping 渗透测试思维导图
    pt-archiver归档数据丢失
    Vue笔记:bin-code-editor使用
    Vue笔记:Vue3 Table导出为Excel
    Go异步check简单示例
    flask_apscheduler定时任务组件使用
    组织沟通文化的变革与卓有成效的管理沟通
    业绩核能
    管理
    SAP MM 移动平均价管理的物料库存初始化导入的一个小问题
  • 原文地址:https://www.cnblogs.com/gxwang/p/4940868.html
Copyright © 2011-2022 走看看