ถามหน่อยครับภาษา C

คือโจทย์มีอยู่ว่าให้เขียนฟังก์ชันหาผลต่างระหว่างค่าที่มากที่สุดกับค่าที่น้อยที่สุด และฟังก์ชันห้ามใช้ตัวแปร global โดย input จะเป็น linked list ซึ่งผมเขียนแล้วได้อย่างนี้

LIST คือชื่อตัวแปรของ structer โดยมี int element กับ struct CELL *next ครับ

range(LIST input, int max, int min){
               if(input->next == NULL){
                return max - min;
               }
              else if(max == 0){
                max = input->element;
                min = input->element;
               }
               else if(input->next > max){
                max = input->element;
               }
               else if(input->next < min){
                min = input->element;
               }
                range(input->next, max, min);
}

อยากถามว่ามันมีวิธีเขียนที่ดีกว่านี้ไหมครับ

*เพิ่มเติมครับโจทย์ให้เขียนเป็น recursive function เท่านั้นครับ*
แก้ไขข้อความเมื่อ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่