欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

單鏈表的排序(快排和冒泡實現(xiàn))以及查找中間結(jié)點

//快排,冒泡鏈表排序
#include<iostream>
#include<assert.h>
using namespace std;
template<class T>
struct LinkNode
{
	T _data;
	LinkNode* _next;
	LinkNode(const T& x)
		:_data(x)
		, _next(NULL)
	{}
};
template<class T>
class ListNode
{
	//為了安全性
private:
	ListNode(const ListNode& l)
	{}
	ListNode<T>& operator=(ListNode l)
	{}
public:
	//程序限制
	LinkNode<T>* _head;
public:
	ListNode()
		:_head(NULL)
	{}
	~ListNode()
	{
		while (_head)
		{
			PopBack();
		}
	}
	void PushBack(const T& x)
	{
		LinkNode<T>* tmp = new  LinkNode<T>(x);
		if (_head == NULL)
			_head = tmp;
		else
		{
			LinkNode<T>* cur = _head;
			while (cur->_next)
				cur = cur->_next;
			cur->_next = tmp;
		}
	}
	void PopBack()
	{
		if (_head == NULL)
			return;
		if (_head->_next == NULL)
		{
			delete _head;
			_head = NULL;
		}
		else
		{
			LinkNode<T>* cur = _head;
			while (cur->_next&&cur->_next->_next)
			{
				cur = cur->_next;
			}
			LinkNode<T>* del = cur->_next;
			cur->_next = NULL;
			delete del;
		}
	}
	LinkNode<T>* Search(const T& x)
	{
		if (_head == NULL)
			return  NULL;
		LinkNode<T>*  cur = _head;
		while (cur->_data != x)
			cur = cur->_next;
		return cur;
	}
	void Print()
	{
		LinkNode<T>* cur = _head;
		while (cur)
		{
			cout << cur->_data << " ";
			cur = cur->_next;
		}
		cout << endl;
	}
};
template<class T>
LinkNode<T>* QuickPartion(LinkNode<T>* begin,LinkNode<T>* end)//前閉后開
{
	if (begin== end)
		return  begin;
	LinkNode<T>* prev,* cur;
	prev = begin;
	cur = begin->_next;
	int tmp = begin->_data;
	while (cur != end)
	{
		if(cur->_data < tmp)
		{
			prev = prev->_next;
			if (cur!=prev)
				swap(cur->_data, prev->_data);
		}
		cur = cur->_next;
	}
	swap(prev->_data, begin->_data);
	return prev;
}
template<class T>
void QuickSort(LinkNode<T>* head,LinkNode<T>* tail)
{
	if (head == NULL || head-== tail)
		return;
	LinkNode<T>* mid = QuickPartion(head, tail);
	QuickSort(head, mid);
	QuickSort(mid->_next, tail);
}
template<class T>
void BubbleSort(LinkNode<T>* head)
{
	if (head == NULL || head->_next == NULL)
		return;
	LinkNode<T>* start = head;
	LinkNode<T>* end = NULL;
	LinkNode<T>* curBegin = NULL;
	int flag = 0;
	while (start->_next)
	{
		curBegin = start;
		flag = 0;
		while (curBegin->_next != end)
		{
			if (curBegin->_data > curBegin->_next->_data)
			{
				swap(curBegin->_data, curBegin->_next->_data);
				flag = 1;
			}
			curBegin = curBegin->_next;
		}
		if (flag == 0)
			break;//優(yōu)化,若有序,直接跳出
		end = curBegin;
	}
}
template<class T>
LinkNode<T>* SearchMidNode(LinkNode<T>* head)
{
	if (head == NULL || head->_next == NULL)
		return head;
	LinkNode<T>* slow = head;
	LinkNode<T>* fast = head;
	while (fast&&fast->_next)//偶數(shù)個數(shù)中間任意一個
	//while (fast&&fast->_next&&fast->_next->_next)//偶數(shù)個數(shù)找到中間的第一個
	{
		fast = fast->_next->_next;
		slow = slow->_next;
	}
	return slow;
}
void Test1()
{
	ListNode<int> l1;
	l1.PushBack(10);
	l1.PushBack(9);
	l1.PushBack(8);
	l1.PushBack(7);
	l1.PushBack(6);
	l1.PushBack(6);
	l1.PushBack(5);
	l1.PushBack(9);
	l1.PushBack(0);
	l1.PushBack(1);
	l1.PushBack(2);
	/*LinkNode<int>* tail = NULL;
	QuickSort(l1._head,tail);*/
	//BubbleSort(l1._head);
	cout << SearchMidNode(l1._head)->_data<< endl;
	l1.Print();
}

新聞標(biāo)題:單鏈表的排序(快排和冒泡實現(xiàn))以及查找中間結(jié)點
轉(zhuǎn)載源于:http://aaarwkj.com/article2/peipic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、網(wǎng)站排名、移動網(wǎng)站建設(shè)、云服務(wù)器、網(wǎng)站制作、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
日韩av熟女人妻一区二| 日本东京热二三四区不卡免费的| 日韩国产精品一区二区| 欧美精品成人在线一区| 精品熟妇人妻一区二区三区| 日操夜操天天操夜夜操| 亚洲av毛片在线免费播放| 七十二式性日韩视频| 伊人丁香六月日日操操| 亚洲中文有码在线播放| 最新日本免费久久精品| 日本一级黄色影视大全| 中文字幕一区中出爽亚洲| 日韩国产欧美亚洲一区| 这里只有精品国产999| 中文字幕一区二区三区三级| 国产在线不卡中文字幕| 亚洲欧美国产在线日韩| 亚洲青青草原一区二区| 午夜理论片在线观看有码| 丰满人妻一区二区三区色| 国产专区亚洲精品欧美| 亚乱熟女一区二区三区| 国产女人和拘做受视频| 成人午夜三级在线观看| 亚洲美女香蕉视频在线| 久久亚洲中文字幕精品熟女| 午夜精品国产日韩欧美在线| 亚洲午夜一区二区精品| 日韩av高清在线播放| 日韩国产一区二区在线观看| 国产又大又黄又粗的黄色| 欧美制服丝袜亚洲自拍偷拍| 日韩二区三区在线观看| 日韩精品人妻一区二区三区蜜桃臀 | 侵犯人妻中文字幕一区二区| 国产成人国产三级国产精品| 亚洲精品一品区二品区三区| 日本高清不卡在线播放| 国产精品综合av一区二区国产馆| 亚洲欧美日韩国产一区二区三区|