回答編集履歴

2

降順の説明を追加

2021/05/18 16:15

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -236,8 +236,6 @@
236
236
 
237
237
 
238
238
 
239
-
240
-
241
239
  int compare_name(PERSON_t *a, PERSON_t *b)
242
240
 
243
241
  {
@@ -337,3 +335,25 @@
337
335
  ```
338
336
 
339
337
  この問題の出典は何ですか?
338
+
339
+
340
+
341
+ **追記**
342
+
343
+ > また、降順についても、わかりやすい書き方がしたいです。
344
+
345
+
346
+
347
+ a と b を入れ替えて比較する関数を用意すればよいでしょう。
348
+
349
+ ```C
350
+
351
+ int compare_name_rev(PERSON_t *a, PERSON_t *b)
352
+
353
+ {
354
+
355
+ return strcmp(b->name, a->name);
356
+
357
+ }
358
+
359
+ ```

1

sort_person 削除、print_person 修正

2021/05/18 16:15

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -36,8 +36,6 @@
36
36
 
37
37
  int add_person(int id);
38
38
 
39
- int sort_person(int comp(PERSON_t *, PERSON_t *));
40
-
41
39
  void print_person(PERSON_t *p);
42
40
 
43
41
  PERSON_t * quick_sort(PERSON_t *a, int comp(PERSON_t *, PERSON_t *));
@@ -230,13 +228,7 @@
230
228
 
231
229
  {
232
230
 
233
- for (; p; p = p->next){
234
-
235
- printf(" %s", p->name);
236
-
237
- printf(" %s\n", p->address);
231
+ for (; p; p = p->next) printf(" %s %s\n", p->name, p->address);
238
-
239
- }
240
232
 
241
233
  putchar('\n');
242
234
 
@@ -244,6 +236,8 @@
244
236
 
245
237
 
246
238
 
239
+
240
+
247
241
  int compare_name(PERSON_t *a, PERSON_t *b)
248
242
 
249
243
  {