• 计算式排序之计数排序


    #include<stdio.h>
    #include<stdlib.h>
    #define len 10
    void CountingSort(int* A,int A_Len,int * B,int k);
    int main()
    {
    	int A[10]={1,5,9,0,7,8,6,4,3,2};
    	int* B=(int*)malloc(sizeof(int)*len);
    	CountingSort(A,len,B,9);
    	for(int i=0;i<len;i++)
    	{
    		printf("%d ",B[i]);
    	}
    	return 0;
    }
    void CountingSort(int* A,int A_Len,int * B,int k)
    {
    	int* C=(int*)malloc(sizeof(int)*(k+1));
    	int i,j;
    	//初始化C数组全部为0  
    	for(i=0;i<k+1;i++)
    	{
    		C[i]=0;
    	}
    	//开始计数 
    	for(j=0;j<A_Len;j++)
    	{
    		C[A[j]]=C[A[j]]+1;
    	}
    	//累加
    	for(i=1;i<k+1;i++)
    	{
    		C[i]=C[i-1]+C[i];
    	}
    	
    	//输出
    	
    	for(i=A_Len-1;i>=0;i--)
    	{
    		B[C[A[i]]-1]=A[i];
    		C[A[i]]=C[A[i]]-1;
    	} 
    	
    	
    	
    }
    

      

    亲爱的听众朋友我是你的代班DJ
  • 相关阅读:
    实验报告2
    实验三 网络欺骗技术
    实验3
    心理魔术
    实验报告
    实验4
    实验5
    实验四恶意代码
    网络对抗技术 实验一
    实验二
  • 原文地址:https://www.cnblogs.com/YTYMblog/p/5499639.html
Copyright © 2020-2023  润新知