C_language_renew08

链表


  • 所谓头插法,就是每次都插在头节点
  • 让新来的节点先有所指向,不会打断原有的指向关系。
  • 数据的集合 ,存储 逻辑 大小 插入 删除 排序
  • 数组 连续 一维线性
  • 链表 非连续 一维线性

code:

  Node * createList()
   {
          Node *head =(Node*)malloc(sizeof(Node));
          head->next = NULL;
          Node*cur = NULL;
          int tmp;
          while(1)
          {
               scanf("%d",&tmp);
                if(tmp == 1)
                 {
                      break;
                 }
                 cur = (Node*) malloc(sizeof(Node));
                 cur->data = tmp;
                 cur->next = head->next;
                 head->next = cur;
          }
          return head;
    }

code:

    void sortPtr(Node* head ,int len)
    {
          Node * tmp;
          Node * hs;
          Node * p, *q;
          
          for(int i = 0;i < len - 1; i++)
          {
                hs = head;
                p = hs-> next;
                q = p->next;
                for(int j = 0; j < len-1-i;j++)
                {
                      if(p->data  > q->data)
                      {
                           hs->next = p->next;
                           p->next = q->next;
                            
                           q->next = p;
                            tmp = p;
                            p =q;
                            q = tmp;
                      }
                      hs = hs->next;
                      p = p->next;
                      q = q->next;
                }
          }
        return ;
    }

你可能感兴趣的:(C_language_renew08)