単連結リストの整列 #13 さらにシンプルに

利用者側は具象リストへのポインタを抽象リスト型でキャストして整列関数に渡すという使い方で、
整列関数側は抽象リスト型に対する操作で統一的に扱うという方針だった。
しかし別に具象リストが正当なものかどうかをチェックするわけでもなく、
単にコンパイラの型チェックを通すためにキャストをするだけなら、
利用者側としてはキャストも何もしないで済む方が楽だろう。
ということで、整列関数の宣言だけでいいような気がしてきた。

list.h
#ifndef LIST_H_INCLUDED
#define LIST_H_INCLUDED

void list_sort(void *list, int (*issup)(void *, void *));

#endif /* LIST_H_INCLUDED */

正当なものを渡す責任は利用者がもつ。