zoukankan      html  css  js  c++  java
  • 递增输出链表结点,删除重复结点

    12)按递增次序输出链表结点

    #include "stdafx.h"
    #include<iostream>
    using namespace std;
    typedef struct node
    {
    	int data;
    	struct node *next;
    }Listnode,*LinkList;
    int _tmain(int argc, _TCHAR* argv[])
    {
    	return 0;
    }
    void reverse(LinkList &La)
    {
    	while(La->next)
    	{
    		LinkList pre=La;
    		LinkList r=pre;//r为辅助指针记录前驱
    		LinkList p=pre->next;		
    		while(p)
    		{
    			if(p->data<pre->next->data)
    				pre=r;//找到当前最小值的前驱
    			r=p;p=p->next;
    		}
    		cout<<pre->next->data;
    		LinkList u=pre->next;
    		pre->next=u->next;
    		free(u);//删除最小值结点
    	}
    	free(La);
    }
    

     13)删除带结点的单链表的重复元素

    #include "stdafx.h"
    #include<iostream>
    using namespace std;
    typedef struct node
    {
    	int data;
    	struct node *next;
    }Listnode,*LinkList;
    int _tmain(int argc, _TCHAR* argv[])
    {
    	return 0;
    }
    void reverse(LinkList &La)
    {
    	LinkList p=La->next;//工作指针;
    	while(p)
    	{
    		LinkList q=p->next,r=p;
    		while(q)
    		{			
    			if(q->data==p->data)
    			{
    				LinkList u=q;
    				r->next=u->next;
    				free(u);
    				q=r->next;//注意不要断链
    			}
    			else
    			{
    			r=q;q=q->next;
    			}
    		}
    		p=p->next;
    	}
    }
    
  • 相关阅读:
    混淆
    【虚拟DOM】√
    fn
    notebook
    sourceMappingURL
    十进制转换为十六进制
    关于this和super的区别
    类中访问级别
    Java中字符串解析
    IWorkspace操作
  • 原文地址:https://www.cnblogs.com/tgkx1054/p/2620828.html
Copyright © 2011-2022 走看看