c语言链表题目(比较简单)求大神帮我写一下!急!!!

2024年11月22日 10:59
有4个网友回答
网友(1):

int sort_link(data *op_list)
{
    data *p = op_list;
    data *q = NULL;
   // int max = 0;
    int temp = 0;

    //入参检查
    if(NULL == op_list)
    {
        printf("empty link. \n");
        return -1;
    }
    //only one node
    if(op_list->next == NULL)
    {
        printf("only one node: %d\n", op_list->data);
        return 0;
    }
    //正常情况
    while(p)
    {
        temp = p->data;
        q = p->next;
        while(q)
        {
            if(q->data > temp)
            {
                temp = p->data;
                p->data = q->data;
                q->data = temp;
            }
            q = q->next;
        }
        p = p->next;
    }
    return 0;
}

 //你试下 看能不能通过  我没来得及试

//经过我的修改测试可以  楼主你试试看

网友(2):

 int sort_link(data *op_list) {
 data *q,*pt,*p = op_list; // op_list为有头结点链表,
 if(p->next == NULL) return -1;
 while(p->next) {
  q = p->next;
  while(q->next) {
   if(p->next->value < q->next->value) {
    pt = p->next;
    p->next = q->next;
    q->next = q->next->next;
    p->next->next = pt;
   }
   else q = q->next;
  }
  p = p->next;
 }
 return 0;
}

网友(3):

大学生表示看不懂。这是什么专业的?

网友(4):

初中毕业让我情何以堪