• 链表插入排序 链表指针实现


    #include<stdlib.h>
    #include<stdio.h>
    
    typedef struct node* link;  //链接
    struct node
    {
    	int item;
    	link next;  
    };//节点
    int main(void)
    {
    	struct node heada, headb;
        link t, u, x, a=&heada, b=&headb;
    	b->next=NULL;
        int N=9;
       
        t=a;
        //头节点a指向t的首节点
        
        for(short i=0; i<N; i++)
        {
        	t->next = malloc(sizeof *t);
    	    t=t->next; 
    	    t->item= rand()%1000;
        }
        t->next=NULL;
        //初始化链表为0-999的随机数,结尾指向NULL
        
        
        for(t=a->next; t!=NULL; t=u)
        {
        	u=t->next; 
        	//将t的下一个节点地址保存在u
        	//循环结束时将t指向t的下一个节点
    	    for( x=b; x->next!=NULL; x=x->next)
    			if(x->next->item > t->item) break;
    			//判断b的下一个节点值是否大于当前a的节点
    			//如果成立立即跳出循环进行排序
    		//
    		t->next = x->next; 
    		//将t的下一个节点指向 b的下一个节点
    		//a的首节点指向NULL
    		x->next=t; //将b的下一个节点指向当前t节点
    	}
    //	排列这些节点使遍历链表按照顺序出现
    	b=b->next;
    	a=a->next;
    	//使a&b指向首节点而不是头节点
    	for(short i=0; i<N; i++)
    	{
    		printf("%d ", b->item);
    		b=b->next;
    	}
    	putchar('
    ');
    	for(short i=0; i<N; i++)
    	{
    		printf("%d ", a->item);
    		a=a->next;
    	}
    	//分别打印a,b
    	
    	return 0;
    }

  • 相关阅读:
    hdu 1690
    hdu 2962
    hdu 2923
    hdu 1385
    hdu 1505
    python:获取访问访问时的响应时间
    自动化脚本编写环境部署_win7(RF)
    python操作浏览器及截图小结
    Python + Selenium 实现对页面的指定元素截图(可截长图元素)【转载】
    Linux:DNS服务器搭建及配置
  • 原文地址:https://www.cnblogs.com/WALLACE-S-BOOK/p/9732296.html
Copyright © 2020-2023  润新知