📄 11-9.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -