lianbiao11.c

来自「链表的测试 使用方式 添加,删除方法的实现」· C语言 代码 · 共 67 行

C
67
字号
#include "stdlib.h"
#define null NULL
struct links
{
  int data;
  struct links *next;
};
typedef struct links* link;      /*定义结构指针数据类型*/
void start_link(link head)         /*初始链表头*/
{
  head->data=null;
  head->next=null;
}
void insert_link(link head,int number)         /*插入数字*/
{
  link p=head;
  while(p->next!=null)p=p->next;
  p->next=malloc(sizeof(link));
  p=p->next;
  p->data=number;
  p->next=null;
}
void putout_link(link head)            /*输出链表*/
{
  link p=head;
  while(p->next!=null)
  {
    p=p->next;
    printf("%d\t",p->data);
  }
  printf("\n");
}
void paixu_link(link head,link headp)   /*排序*//*链表头 排序后链表头*/
{
  link minp,p,pp;            /*最小数前位指针 查找最小数 排序后用指针*/
  int min;                    /*最小数*/
  minp=head;
  p=head;
  pp=headp;
  while(p->next!=null)
  {
    min=minp->next->data;
    while(p->next->next!=null)
    {
      p=p->next;
      if(p->next->data<min)minp=p;
    }
    pp->next=minp->next;
    pp=pp->next;
    minp->next=pp->next;
    pp->next=null;
    minp=p=head;
  }
}
main()
{
  link head,headp;       /*链表头 排序之后的链表头*/
  int i;
  start_link(head);
  start_link(headp);
  for(i=10;i>=1;i--)insert_link(head,i);
  putout_link(head);
  paixu_link(head,headp);
  putout_link(headp);
  getch();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?