zoukankan      html  css  js  c++  java
  • 链表的操作(未完待续)

    #include<iostream>
    using namespace std;
    
    typedef struct LNode {
    	int data;
    	struct LNode *next;
    }LNode , *LinkList;
    
    LNode *p,*q;
    LinkList H;
    
    //求链表的长度
    int ListLength(LinkList L)
    {
    	 p = L;
    	 int k = 0;
    	 while(p){
    	 	k++;
    	 	p = p->next;
    	 }           
    	 return k;                                                            
    } 
    // 查找元素操作
    LNode *Locate(LinkList L,int e) //e's type is int 
    {
    	//在L所指链表中查找第一个值和e相等的元素,若存在,则返回
    	//它在链表中的位置,即指向该数据的元素所在节点的指针,否则返回NULL 
    	p = L;            //用指针的方法代替下标,需要用一个节点类型的指针替换一下,以便操作 
    	while(p && p->data != e) p = p->next;
    	return p;
    } 
    //插入节点操作(前插)
    void Insert (LinkList &L,LNode *p,LNode *s)
    {
    	//指针p指向L为头节点的链表中某个节点,将s节点插入到p节点之前
    	if (p == L){
    		s->next = L;
    		L = s;
    	} else {
    		q = L;
    		while( q->next !=p ) q = q->next;//迭代查找 
    		q->next = s;
    		s->next = p;
    	}
    } 
    
    //删除节点的操作
    void Delete(LinkList &L,LNode *p,int e)
    {
    	//p 指向链表中的某一个节点,从链表中删除该节点并由e返回该节点的值 
    	if( p == L)  //L 就代表头节点
    	{
    		L = p->next;
    	}else{
    		q = L;
    		while(q->next != p)q = q->next;   //p,q 都是地址,且p-〉next也是地址 
    		q->next = p->next;
    	}
    	e = p->data;
    	delete p; 
    } 
    

  • 相关阅读:
    JSP页面重定向与页面内容转发
    tomcat访问所有的资源,都是用Servlet来实现的
    War包是什么??
    jsp中include的两种用法
    TED #05# How we can face the future without fear, together
    TED #04#
    学写网页 #03# 固定在某个角落
    TED #03# 10 ways to have a better conversation
    TED #02#
    学写网页 #02# 无题
  • 原文地址:https://www.cnblogs.com/NYNU-ACM/p/4248792.html
Copyright © 2011-2022 走看看