真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C++鏈表類-創(chuàng)新互聯(lián)

C++鏈表類的封裝

專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)廣靈免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了近千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
1.C++ 1.類與對象

對象:對象是我們生活中事物,有一定的屬性和行為或者操作方式。
面向?qū)ο螅菏且环N軟件的開發(fā)方法,對象所指的是計(jì)算機(jī)操作系統(tǒng)中的某一個(gè)成分。在面向?qū)ο蟪绦蛟O(shè)計(jì)中,對象包含兩個(gè)含義,其中一個(gè)是數(shù)據(jù),另外一個(gè)是行為。
面向?qū)ο缶幊蹋篊++是一種面向?qū)ο蟮恼Z言,作為C語言的升級和擴(kuò)充,C++完善了C語言中的不足,同時(shí)也在不斷進(jìn)行更新。面向?qū)ο缶幊痰闹饕木€是把問題的各個(gè)部分分解成對象。面向?qū)ο蟪绦蛟O(shè)計(jì)中的概念主要包括:對象,類,數(shù)據(jù)抽象、繼承、動態(tài)綁定、數(shù)據(jù)封裝、多態(tài)性、消息傳遞。

2.類的定義和實(shí)例化 2.1類的一般語法:

class 類名:繼承方式 基類,…{
訪問控制限定符:
類名(形參表):初始化列表{…}//構(gòu)造函數(shù)
~類名(void){…}//析構(gòu)函數(shù)
返回類型 函數(shù)名(形參表){…}//成員函數(shù)
數(shù)據(jù)類型 變量名;//成員變量
};

2.2訪問控制限定符
1.public:公共的行為或?qū)傩裕魏挝恢枚伎梢栽L問使用
2.private:私有的行為或?qū)傩?,只有類自己的成員函數(shù)才能訪問,類的外部是不可以訪問的,不寫訪問控制限定符,默認(rèn)是私有成員
3.protected:受保護(hù)的成員,在派生類可訪問
2.3構(gòu)造函數(shù)
語法
class 類名{
        類名(形參表){//負(fù)責(zé)初始化對象(初始化成員變量)}
};
函數(shù)名字與類名相同,且無返回類型
構(gòu)造函數(shù)在創(chuàng)建時(shí)自動被調(diào)用,不能像普通成員函數(shù)一樣顯式的調(diào)用
2.4對象的創(chuàng)建和銷毀
1.在棧區(qū)創(chuàng)建單個(gè)對象:
類名 對象(構(gòu)造實(shí)參表);//無實(shí)參的話不需要加括號
如果只有一個(gè)構(gòu)造實(shí)參也可以:類名 對象=構(gòu)造實(shí)參;
類名 對象=類名(構(gòu)造實(shí)參表);//拷貝初始化
2.在棧區(qū)創(chuàng)建多個(gè)對象(對象數(shù)組)
類名 對象數(shù)組[元素個(gè)數(shù)]={類名(構(gòu)造實(shí)參表),...};
3.在堆區(qū)創(chuàng)建、銷毀單個(gè)對象
創(chuàng)建:類名*對象指針=new 類名(構(gòu)造實(shí)參表)
銷毀:delete 對象指針
4.在堆區(qū)創(chuàng)建、銷毀對象數(shù)組
創(chuàng)建:類名*對象指針=new類名[元素個(gè)數(shù)】{類名(構(gòu)造實(shí)參表)}
銷毀:delete[] 對象指針;
2.鏈表 1.定義
鏈表是一種物理存儲上非連續(xù),數(shù)據(jù)元素的邏輯順序通過鏈表中的指針鏈接次序,實(shí)現(xiàn)的一種線性存儲結(jié)構(gòu)。
2.特點(diǎn)
鏈表由一系列節(jié)點(diǎn)(鏈表中每一個(gè)元素稱為節(jié)點(diǎn))組成,節(jié)點(diǎn)在運(yùn)行時(shí)動態(tài)生成 (malloc),每個(gè)節(jié)點(diǎn)包括兩個(gè)部分:  一個(gè)是存儲數(shù)據(jù)元素的數(shù)據(jù)域,另一個(gè)是存儲下一個(gè)節(jié)點(diǎn)地址的指針域
3.構(gòu)成
鏈表節(jié)點(diǎn)分為兩個(gè)域
     數(shù)據(jù)域:存放各種實(shí)際的數(shù)據(jù),如:num、score等
     指針域:存放下一節(jié)點(diǎn)的首地址,如:next等.
4.操作
基本操作包括增加,刪除,修改,查詢。
3.實(shí)現(xiàn) 1.創(chuàng)建(頭插法)
void LinkList::HeadPushList(int x)
{
	if (data == 0)
	{
		LinkList* p = new LinkList(x);
		next = p;
		data++;
	}
	else
	{
		LinkList* p = new LinkList(x);
		p->next = next;
		next = p;
		data++;
	}
}
2.插入
void LinkList::RandInsertList(int n, int x)
{
	if (n == 1)
	{
		HeadPushList(x);
	}
	else if (n >1 && n<= data)
	{
		LinkList* p = new LinkList(x);
		LinkList* temp = next;
		int count = n - 2;
		while (count--)
		{
			temp = temp->next;
		}
		p->next = temp->next;
		temp->next = p;
		data++;
	}
}
3.刪除
int LinkList::RandDeleteList(int n)
{
	int x;
	if (data == 0)
		return NULL;
	if (n == 1)
	{
		x = HeadPopList();
	}
	else if (n == data)
	{
		x = TailPopList();
	}
	else if (n >1 && n< data)
	{
		int cnt = n - 2;
		LinkList* p = next;
		while (cnt--)
			p = p->next;
		LinkList* p1 = p->next;
		x = p1->data;
		p->next = p1->next;
		delete p1;
		data--;
	}
	else
	{
		cout<< "刪除位置錯(cuò)誤!";
		return NULL;
	}
	cout<< "刪除成功!"<< endl;
	return x;
}
4.查詢
int LinkList::DataSearchList(int n)
{
	if (EmptyList() || (!(n >0 && n<= data)))
		return false;
	
	LinkList* p = next;
	int index = n - 1;
	while (index--)
		p = p->next;
	return p->data;
5.修改
bool LinkList::LocateChangeList(int n, int x)
{
	if (EmptyList()||(!(n >0 && n<= data)))
		return false;
	int index = n - 1;
	LinkList* p = next;	
	while (index--)
		p = p->next;
	p->data = x;
	return true;
}
4.總結(jié)

C++中的鏈表操作方式跟C一樣,但是在C++中更習(xí)慣將數(shù)據(jù)結(jié)構(gòu)封裝成類進(jìn)行操作,通過成員函數(shù)對類里面的成員進(jìn)行訪問和操作。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


網(wǎng)頁名稱:C++鏈表類-創(chuàng)新互聯(lián)
鏈接URL:http://weahome.cn/article/eoosi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部