c语言排序 桶排序
程序员文章站
2022-05-23 09:18:22
...
有重复元素的桶排序
1.保留重复元素
#include <stdio.h>
/*****tonytrek*****2021.5.11*****/
/*****桶排序*****/
void sort(int*,int);
void print_arry(int *,int);
int main()
{
int arr[5]={1,8,8,4,5};
sort(arr,5);
print_arry(arr,5);
return 0;
}
void sort(int*arry,int length)
{
int arr_t[10]={0};
for(int i=0;i<length;i++)
{
arr_t[arry[i]]++;
}
int no=0;
for(int i=0;i<10;i++)
{
int num=arr_t[i];
for(;num>0;num--)
{
arry[no]=i;
no++;
}
}
return;
}
void print_arry(int* arry,int length)
{
printf("[");
for(int i=0;i<length;i++)
{
printf("%d",arry[i]);
}
printf("]");
}
1.不保留重复元素
#include <stdio.h>
/*****tonytrek*****2021.5.11*****/
/*****桶排序*****/
void sort(int*,int);
void print_arry(int *,int);
int main()
{
int arr[5]={1,8,8,4,5};
sort(arr,5);
return 0;
}
void sort(int*arry,int length)
{
int arr_t[10]={0};
for(int i=0;i<length;i++)
{
arr_t[arry[i]]++;
}
int no=0;
for(int i=0;i<10;i++)
{
if(arr_t[i]!=0)
printf("%d",i);
}
return;
}
上一篇: Mysql重置root密码
下一篇: java实现SPFA算法