11-9.c
来自「这些是数据结构结构的经典实现算法」· C语言 代码 · 共 44 行
C
44 行
#include "stdio.h"
#define MAX_DIGIT 3 /* 数从 0 到 999 */
#define RADIX_SIZE 10
typedef struct node {
int key[MAX_DIGIT];
struct node * link;
}list_node;
typedef list_node *list_pointer;
list_pointer radix_sort (list_pointer ptr)
{
list_pointer front [RADIX_SIZE], rear[RADIX_SIZE];
int i,j,digit;
for (i = MAX_DIGIT-1; i >= 0; i--){
for (j = 0;j < RADIX_SIZE; j++)
front[j] = rear[j] = NULL;
while (ptr){
digit = ptr->key[i];
if ( !front[digit])
front[digit] = ptr;
else
rear[digit]->link = ptr;
rear[digit] = ptr;
ptr = ptr->link;
}
ptr = NULL;
for (j = RADIX_SIZE-1; j >= 0; j--)
if ( front[j]){
rear[j]->link = ptr; ptr = front[j];
}
}
return ptr;
}
void initial(list_pointer ptr)
{
//初始化
}
void main()
{
list_pointer ptr,result;
initial(ptr);
result=radix_sort(ptr);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?