連結リストpと整数Xを引数とし、pの要素の中でx以下の要素がxより大きい要素より
すべて前に来るように並び替え、結果のリストを返す関数partitionを書け。mallocなどの
メモリ割り当て関数を使ってはいけない。


typedef
struct node{
int val;
struct node* next;
    }  *list;

よろしくお願いします。
どういう風に並び替えていくのか、考え方も教えてください。