91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

龙胜| 玉田县| 青龙| 中宁县| 福海县| 沙雅县| 纳雍县| 乐业县| 遂平县| 长治市| 瓮安县| 通榆县| 广宗县| 镇康县| 东海县| 邵阳市| 房产| 山阴县| 韶山市| 德格县| 黎城县| 奈曼旗| 泰顺县| 淮南市| 怀远县| 靖江市| 乾安县| 古交市| 伊宁县| 新丰县| 泗洪县| 江孜县| 樟树市| 安康市| 瑞金市| 昭苏县| 泰顺县| 开江县| 康保县| 建宁县| 田阳县|