⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stdafx.cpp

📁 单链表的操作 初始条件: 已知A
💻 CPP
字号:
#include "stdafx.h"
#include <iostream>
using namespace std;
//创建单链表:
	Lnode * creatList(int n){
		Lnode *HL, *p, *s;
		int i = 0;
		HL = new Lnode;
		if(!HL){
			cout<<"Merory allocation failure !";
				exit(1);
		}
		HL ->next = NULL;
		p = HL;
		cout<<"请您输入你的数据:"<<endl;
		for(; i < n; i ++) {
			s = new Lnode;
			cout<<"\t输入您的第"<< i+1 <<"个元素 :";
			cin>>s->data;
			while(cin.fail()){
		     cout<<"error happen , try again:";
		     cin.clear();
		     cin.sync();
		     cin>>s->data;
      	};
			s->next = NULL;
			p->next = s;
			p = s;
		}
		return HL;
	}

//输出指定的单链表并输出其长度
	void printList(Lnode *HL){
		Lnode *p = HL->next;
		int count = 0;
		while(p){
			cout<<p->data<<" ";
			p = p ->next;
			count ++;
		}	
		cout<<"  链表长度为:    "<<count<<endl;
	}

//比较并得出A B两链表中相同的元素,组成C表输出
Lnode * judgeExist(Lnode *A,Lnode *B){
	Lnode *p , *q;
	p = A->next;
	Lnode *C = new Lnode;
	if(!C) exit(1);
	Lnode *m = C;
	C->next = NULL;
	while(p){
		q = B->next;
		while(q){
			if(p->data== q->data){
				Lnode *s = new Lnode;
				if(!s) exit(1);
				s->data = p->data;
				s->next = NULL;
				m->next = s;
				m = s;
			}
			q = q->next;
		}
		p = p->next;
	}
	return C;
}

//对指定链表排序
	void ordered_L(Lnode *&HL){
		Lnode *p = HL->next, *q, *pre;
		HL->next = NULL;
		while(p != NULL){
			if(HL->next == NULL){
				HL->next = p;
				p = p->next;
				HL->next->next = NULL;
			}else{
				pre = HL;
				q = pre->next;
				while(q!= NULL && p->data > q->data){
					pre = q;
					q = q->next;
				}
				q = p->next;
				p->next = pre->next;
				pre->next = p;
				p = q;
			}
		}
	}
//在A表中删除E表的元素:
void DeleteTheSame(Lnode *&A,Lnode *E){
	Lnode *p , *q, *s;
	p = E->next;
	while(p){
		q = A->next;
		s = A;
		while(q){
			if(p->data == q->data){
				if(q->next == NULL){
					s->next = NULL;
				}else{
					s->next = q->next;
					q = q->next;
					continue;
				}
			}
			s = q;
			q = q->next;
		}
		p = p->next;
	}
}

⌨️ 快捷键说明

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