亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++簡單單向鏈表實現

發布時間:2020-05-22 16:47:59 來源:網絡 閱讀:2012 作者:適__ 欄目:編程語言
#include?"pch.h"
#include?<iostream>


//創建鏈表
typedef?struct?ListTable?
{
	int?nElement;????//鏈表元素
	int?nSequence;???//節點序號
	ListTable?*pNext;//下一個節點
}ListTable;


//初始化鏈表
//參數:元素的值
ListTable*?initListTable(int?nNum)
{
	//頭結點
	ListTable?*head;
	//申請內存
	head?=?(ListTable*)malloc(sizeof(ListTable));
	//初始化成員變量
	head->nElement?=?nNum;
	head->nSequence?=1;
	head->pNext?=?NULL;
	//返回頭結點指針
	return?head;
}


//插入元素
//參數:鏈表指針?元素的值
void?insertElement(ListTable?*list,?int?nNum)
{
	//創建局部變量
	ListTable?*pList?=?list;
	int?nCount?=?list->nSequence;
	//申請新的節點空間
	ListTable?*pNode?=?(ListTable*)malloc(sizeof(ListTable));
	//遍歷鏈表
	while?(pList?!=?NULL)
	{
		//如果下一個節點為空,則插入元素
		if?(pList->pNext?==NULL)
		{
			pList->pNext?=?pNode;
			pNode->nSequence?=?nCount?+?1;
			pNode->nElement?=?nNum;
			pNode->pNext?=?NULL;
			return;
		}
		nCount?+=?1;
		pList?=?pList->pNext;
	}
}


//刪除指定序號元素
//參數:鏈表指針??元素序號
void?deleteElement(ListTable?*list,int?nSequence)
{
	//如果是第一個節點,直接free
	if?(list->nSequence?==?nSequence)
	{
		free(list);
		return;
	}

	//創建局部變量
	ListTable?*pList?=?list;
	ListTable?*pTmp=NULL;
	
	//遍歷鏈表
	while?(pList!=NULL)
	{
		//如果序號相等,刪除指定序號元素
		if?(pList->pNext->nSequence?==?nSequence)
		{
			pTmp?=?pList->pNext->pNext;
			free(pList->pNext);
			pList->pNext?=?pTmp;
			//之后的序號依次減一
			while?(pTmp?!=?NULL)
			{
				pTmp->nSequence?-=?1;
				pTmp?=?pTmp->pNext;
			}
			return;
		}
		pList?=?pList->pNext;	
	}
	printf("節點不存在!\n");
}


//修改元素
//參數:鏈表指針??元素序號??元素的值
void?changeElement(ListTable?*list,?int?nSequence,int?nNum)
{
	ListTable?*pList?=?list;
	while?(pList?!=?NULL)
	{
		if?(pList->nSequence?==?nSequence)
		{
			pList->nElement?=?nNum;
			return;
		}
		pList?=?pList->pNext;
	}
	printf("節點不存在!\n");
}


//釋放鏈表
//參數:鏈表指針
void?deleteListTable(ListTable?*list)
{
	ListTable?*pList?=?list;
	ListTable?*pTmp=NULL;
	while?(pList?!=?NULL)
	{
		pTmp=?pList->pNext;
		free(pList);
		pList?=?pTmp;
	}
	printf("釋放完成!\n");
}


//遍歷鏈表元素
//參數:鏈表指針
void?showElement(ListTable?*list)
{
	ListTable?*pList?=?list;
	if?(pList?==?NULL)
	{
		printf("鏈表為空!\n");
		return;
	}
	while?(pList?!=?NULL)
	{
		printf("鏈表元素:%d??元素序號:%d\n",?pList->nElement,?pList->nSequence);
		pList?=?pList->pNext;
	}
}


int?main()
{
	//初始化鏈表?第一個元素為1
	ListTable?*list=?initListTable(1);
	//插入2,3,4,5四個元素
	insertElement(list,?2);
	insertElement(list,?3);
	insertElement(list,?4);
	insertElement(list,?5);
	//修改序號5的元素為6
	changeElement(list,?5,?6);
	//刪除序號為3的元素
	deleteElement(list,?3);
	//遍歷
	showElement(list);
	//釋放
	deleteListTable(list);
}

vs2017編譯

C++簡單單向鏈表實現

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

都昌县| 枣阳市| 长宁县| 龙海市| 贵州省| 余干县| 金山区| 象山县| 曲松县| 邢台县| 连平县| 保定市| 延寿县| 武宁县| 茶陵县| 醴陵市| 大悟县| 汝南县| 临澧县| 鄂州市| 泰宁县| 岱山县| 闸北区| 太谷县| 泽普县| 泸定县| 玉环县| 新营市| 邵阳县| 徐水县| 布拖县| 乡宁县| 天峨县| 本溪| 湘潭市| 台中市| 修文县| 江阴市| 金塔县| 伊金霍洛旗| 龙南县|