亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? list.cpp

?? 設有一個數列
?? CPP
字號:
#include<iostream.h>
#include<stdio.h>
#include<conio.h>

bool CheckInteger(int &i);//檢驗輸入內容是否為整數

class Node
{
	int element;
	Node *link;
	friend class List;
};

class List
{
public:
	List(int MaxLength);//構造函數
	~List(void);//析構函數
	void DeleteAll(void);//刪除所有節(jié)點
	bool CreateAsendingSort(void);//創(chuàng)建升序鏈表
	void Insert(int x);//插入節(jié)點
	int GetLong(void);//獲取鏈表長度
	void Reverse(int i,int n);//逆序函數
	void Output(ostream &out)const;//輸出函數
private:
	Node *first;
	int n;
};

List::List(int MaxLength)//構造默認鏈表:2 4 6 8 10 12 14 16 18 20
{
	first = NULL;
	n = 0;
	int j = n = MaxLength;
	
	for(;j > 0;j--)
	{
		Node *q = new Node;
		q->element = 2 * j;
		q->link = first;
		first = q;
	}
}

List::~List(void)
{
	DeleteAll();
}

void List::DeleteAll(void)
{
	Node *p;
	while(first)
	{
		p = first->link;
		delete first;
		n--;
		first = p;
	}
}

bool List::CreateAsendingSort(void)
{
	DeleteAll();
	while(1)
	{
		int x;
		if(first != NULL)
		{
			cout<<"Now the list is: ";
			Output(cout);
			cout<<"Plaese input a new element."<<endl;
			cout<<"If uneffective element,end input."<<endl;
		}
		else
		{
			cout<<"Plaese input the element."<<endl;
			cout<<"If uneffective element,end input."<<endl;
		}
		if(CheckInteger(x) == false)
			if(first == NULL)
				return false;
			else
				break;
		Insert(x);
		cout<<endl;
	}
	return true;
}

void List::Insert(int x)
{
	n++;
	if(first == NULL || first->element > x)
	{
		Node *temp = new Node;
		temp->element = x;
		temp->link = first;
		first = temp;
		return;
	}
	else if(first->element == x)
	{
		n--;
		cout<<"There is same element!"<<endl;
		cout<<"Please input this element again."<<endl;
		return;
	}

	Node *f = first;
	while(f->element <= x)
	{
		Node *p = f->link;
		if(p == NULL || p->element > x)
		{
			Node *temp = new Node;
			temp->element = x;
			temp->link = p;
			f->link = temp;
			return;
		}
		else if(p->element == x)
		{
			n--;
			cout<<"Same element exist!"<<endl;
			cout<<"Please input again."<<endl;
			return;
		}
		f = f->link;
	}
}

int List::GetLong(void)
{
	return n;
}

void List::Output(ostream &out)const
{
	Node *p = first;
	while(p)
	{
		out<<p->element<<" ";
		p = p->link;
	}
	out<<endl;
}

//函數功能:將從第i位開始的n個數進行逆序轉換
//函數入口參數
//    i:起始位置數
//    n:進行逆序操作的個數
//函數返回值:無
void List::Reverse(int i,int n)
{
	int j;
	Node *t,*p,*q,*r,*f;
	
	t = p = q = r = f = first;
	
	
	for(j = 1;j < i-1;j++)//逆序從第一位開始,t為頭節(jié)點
		t = t->link;//否則,t為進行逆序轉換的前一個節(jié)點
	if(i != 1)
	{
		r = t->link;
		p = r->link;
		q = r->link;
		f = r;//f,r為需進行逆序轉換的第一個節(jié)點
	}
	else
	{
		p = p->link;
		q = q->link;
	}
	if(n > 1)//若逆序個數n為"0"或"1",則無需進行轉換
	{
		j = 2;//計數器j判斷實際操作數有無超過逆序轉換個數n
		while(j <= n && p)//p,q為需進行逆序轉換的第二個節(jié)點
		{
			p = p->link;
			q->link = r;
			f->link = p;
			r = q;
			q = p;
			j++;
		}
		if(i == 1)//鏈表斷點
			first = r;
		else
		{
			t->link = r;
		}
	}
}

//函數功能: 檢驗輸入內容是否為整數,“空格鍵”為非法輸入
//函數入口參數
//    i: 若判斷結果為整數,其為整數的存儲變量
//函數返回值
//    是整數: 返回true
//    否則: 返回false
bool CheckInteger(int &i)
{
	i = 0;
	int flag1 = 0,flag2 = 0;//判斷標識符
	char c;
	fflush(stdin);//清空緩存區(qū),stdin為標準輸入,與stdout相對
	c = getchar();
	
	if(c == '\n')
	{
		cout<<"Not a integer."<<endl<<endl;
		return false;
	}
	if(c == '-')
	{
		flag1 = 1;
		c = getchar();
		if(c == ' ' || c == '\n')
			return false;
	}
	while(c != '\n')//對輸入的字符從前到后逐位檢驗合法性
	{
		if(c < '0' || c > '9')//非法數據
		{
			i = 0;//還原i的默認值
			flag2 = 1;//更改標識符
			break;
		}
		else
		{
			char ch;
			int a;
			for(ch = '0',a = 0;c != ch;ch++,a++);//確定該位a的數值
			i = 10 * i + a;//對i加權
			if((flag1 == 1 && i < -1) || (flag1 == 0 && i < 0))//(int)2147483648為64位計算機儲存空間極限
			{
				cout<<"Integer out of bounds"<<endl<<endl; 
				return false;
			}
			c = getchar();
		}
	}
	if(flag1 == 1)
	{
		i *= (-1);
		return true;
	}
	if(flag2 == 1)
	{
		cout<<"Not a integer."<<endl<<endl;
		return false;
	}
	return true;
}


int main()
{
	int q = 1;
	int z = 0;
	int i = 0,n = 0;
	int max;
	max = 10;
	List L(max);

	cout<<"After input,please press \"Enter\" to next step"<<endl;
	while(q)//為測試數據,反復循環(huán)
	{
		char c;
		
		if(z)
			cout<<"0   Use the lastest list."<<endl;
		cout<<"1   Create a ten nodes list by computer."<<endl;
		cout<<"2   Create a sort asending list by yourself."<<endl;
		cout<<"3   Quit."<<endl;
		c = getche();
		cout<<endl<<endl;
		switch(c)
		{
		case '0':
			L.Reverse(i,n);
			break;
		case '1':
			z = 1;
			break;
		case '2':
			if(L.CreateAsendingSort() == false)
				continue;
			z = 1;
			break;
		case '3':
			q = 0;
			continue;
		default:
			cout<<"Incorrect input! "<<"Plaese input again."<<endl<<endl;
			continue;
		}

		max = L.GetLong();
		if(max == 0)
		{
			cout<<"The list is empty."<<endl<<endl;
			z = 0;
			continue;
		}
		
		cout<<"Now,the list is:"<<endl;
		L.Output(cout);
		
		if(max == 1)
		{
			cout<<"There is only one element."<<endl<<endl;
			i = 1;
			n = 1;
			continue;
		}

		cout<<"Reverse from which place? (1 - "<<max<<")"<<endl;
		if(CheckInteger(i) == false)//調用函數輸入,并檢驗其數據合法性
			continue;
		
		if(i < 1 || i > max)
		{
			if(i < 1)
				cout<<"Too low!"<<endl<<endl;
			else
				cout<<"Too high!"<<endl<<endl;
			continue;
		}
		int m = max + 1 - i;
		if(m == 1)
		{
			cout<<"The element is the last one."<<endl<<endl;
			continue;
		}
		
		cout<<"Reverse how many? (0 - "<<m<<")"<<endl;
		if(CheckInteger(n) == false)//調用函數輸入,并檢驗其數據合法性
			continue;
		
		if(n < 0 || n > m)
		{
			if(n < 0)
				cout<<"Too low."<<endl<<endl;
			else
				cout<<"Too high"<<endl<<endl;
			continue;
		}
		
		L.Reverse(i,n);
		cout<<"After reverse,the list is:"<<endl;
		L.Output(cout);

		cout<<endl;
	}
	return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
五月天视频一区| 91在线视频18| 99麻豆久久久国产精品免费| 在线观看视频一区二区欧美日韩| 日韩美女视频在线| 亚洲综合在线电影| 成人h动漫精品| 日韩精品一区二区在线| 亚洲另类一区二区| 成人免费黄色在线| 国产亚洲一区二区在线观看| 人人狠狠综合久久亚洲| 在线免费av一区| 中文字幕日本乱码精品影院| 精品一区二区在线视频| 51精品久久久久久久蜜臀| 夜夜精品视频一区二区 | 大陆成人av片| 精品久久久久久久久久久久久久久| 亚洲伊人色欲综合网| www.日本不卡| 国产欧美精品在线观看| 国产在线一区二区综合免费视频| 91精品国产aⅴ一区二区| 亚洲v日本v欧美v久久精品| 色网站国产精品| 亚洲欧洲日韩av| 国产精品一区免费视频| 欧美精品一区二区蜜臀亚洲| 日本欧美一区二区在线观看| 欧美日本在线播放| 偷拍一区二区三区四区| 欧美乱熟臀69xxxxxx| 午夜精品久久久久影视| 色综合色综合色综合色综合色综合 | 欧美人妖巨大在线| 亚洲1区2区3区视频| 在线观看欧美日本| 亚洲一区二区av电影| 精品视频1区2区| 亚洲一区二区三区爽爽爽爽爽 | 久久婷婷国产综合国色天香| 精品一二三四区| 日韩一区国产二区欧美三区| 人人精品人人爱| 精品国产一区二区在线观看| 国产成人综合亚洲网站| 国产精品国产三级国产aⅴ中文| 97se亚洲国产综合自在线不卡| 中文字幕永久在线不卡| 色婷婷久久一区二区三区麻豆| 亚洲一二三四区| 91精品国产综合久久久蜜臀图片| 男男成人高潮片免费网站| 日韩欧美国产一二三区| 国产成人aaa| 一区二区三区在线免费观看| 欧美日韩情趣电影| 久久精品99久久久| 日韩美女啊v在线免费观看| 欧洲亚洲精品在线| 精品亚洲aⅴ乱码一区二区三区| 国产人成亚洲第一网站在线播放 | 亚洲精品国产精华液| 在线成人免费视频| 国产福利一区在线| 亚洲综合在线视频| 2023国产精华国产精品| 日本道精品一区二区三区| 美女任你摸久久| 国产精品久久久久影院色老大| 欧美网站一区二区| 精品在线播放午夜| 亚洲成人午夜影院| 中文字幕不卡在线播放| 欧美日韩aaa| 91在线视频免费91| 国产一区二区三区综合| 亚洲福利一区二区三区| 国产欧美一区视频| 91精品在线麻豆| 99久久久精品| 国产电影精品久久禁18| 水蜜桃久久夜色精品一区的特点| 国产亲近乱来精品视频 | 91丝袜国产在线播放| 美女在线视频一区| 亚洲国产日韩一级| 综合激情成人伊人| 国产午夜精品一区二区| 欧美欧美欧美欧美首页| 91热门视频在线观看| 国产剧情一区二区三区| 日韩和欧美的一区| 一区二区欧美国产| 中日韩av电影| 亚洲精品一区二区三区香蕉| 欧美精品九九99久久| 日本精品视频一区二区| jiyouzz国产精品久久| 国产一区二区在线看| 日韩精品91亚洲二区在线观看| 亚洲欧美日韩久久| 国产精品色一区二区三区| 久久女同精品一区二区| 日韩欧美国产综合| 制服丝袜av成人在线看| 欧美视频一区二区三区| 91久久奴性调教| 99精品在线观看视频| 99久久久久久| 色婷婷国产精品| 91麻豆国产精品久久| 99久久婷婷国产综合精品电影| 国产99久久久久| 高清不卡一区二区| www.一区二区| 色噜噜狠狠一区二区三区果冻| 色综合天天视频在线观看| 91免费看`日韩一区二区| 91婷婷韩国欧美一区二区| 色综合视频在线观看| 欧美三级中文字幕| 欧美一区二区三区思思人| 91精品国产欧美一区二区18| 欧美一级日韩免费不卡| 日韩精品中午字幕| 久久精品视频网| 中文字幕日韩一区| 亚洲一级二级三级在线免费观看| 亚洲欧美精品午睡沙发| 亚洲第一综合色| 精品一区二区三区在线播放视频 | 亚洲乱码中文字幕| 一区二区三区91| 爽好久久久欧美精品| 免费高清视频精品| 国产成人一区二区精品非洲| aaa欧美色吧激情视频| 在线观看av一区| 精品国产免费人成电影在线观看四季| 欧美一级日韩一级| 国产精品国产馆在线真实露脸| 一区二区日韩电影| 精品一区二区影视| 色综合久久中文综合久久97| 欧美久久一二区| 中文在线资源观看网站视频免费不卡| 中文字幕在线不卡一区| 亚洲电影一区二区| 国产成人免费xxxxxxxx| 欧美三级日韩在线| 久久精品水蜜桃av综合天堂| 亚洲电影一区二区三区| 国产成+人+日韩+欧美+亚洲| 色88888久久久久久影院按摩| 日韩视频免费观看高清完整版| 国产精品免费视频一区| 麻豆视频一区二区| 色狠狠色狠狠综合| 久久亚洲一区二区三区明星换脸| 日韩码欧中文字| 免费精品视频在线| 91福利在线导航| 久久精品视频在线看| 五月天激情综合网| 91女厕偷拍女厕偷拍高清| 久久久久久电影| 美腿丝袜亚洲一区| 欧美优质美女网站| 亚洲欧美综合色| 精品一区二区三区在线观看| 日本久久精品电影| 国产精品美女久久久久久久| 麻豆精品视频在线观看视频| 在线视频一区二区三区| 国产亚洲一区二区在线观看| 偷窥少妇高潮呻吟av久久免费| 99久久久免费精品国产一区二区| 久久噜噜亚洲综合| 免费成人结看片| 欧美日韩一区二区在线观看视频| 亚洲国产精品精华液ab| 国产一区二区三区四区五区美女| 欧美日韩成人综合天天影院 | 久久综合狠狠综合久久激情| 亚洲永久免费av| 99国产欧美另类久久久精品 | 91精品国产一区二区三区| 亚洲精品国久久99热| www.99精品| 久久久久久久久久电影| 国产一区二区三区四区在线观看| 日韩欧美自拍偷拍| 水蜜桃久久夜色精品一区的特点 | 亚洲国产精品久久一线不卡| 91免费精品国自产拍在线不卡| 亚洲欧洲日产国码二区| 99在线精品一区二区三区| 国产欧美一区二区精品秋霞影院|