中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

C++數據結構中鏈表有哪些操作

發布時間:2021-11-18 13:06:38 來源:億速云 閱讀:160 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“C++數據結構中鏈表有哪些操作”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“C++數據結構中鏈表有哪些操作”這篇文章吧。

    首先創建好一個節點

    typedef struct node {
    	int date;
    	struct node* next;
    }*PNODE;
     PNODE creatnode(int date )
    {
    	PNODE newnode = (PNODE)malloc(sizeof(struct node));
    	assert(newnode);
    	newnode->next = NULL;
    	newnode->date = date;
    	return newnode; 
    }

    其次創建一個統計節點屬性

    struct List {
    	struct node* pronode;//這只是一個類型
    	struct node*tailnode;
    	int size;
    };
    //創建統一鏈表屬性的list  
    //用來統計鏈表的(size)節點數
    //head和tail用來統計鏈表的表頭和表尾
    struct List* creatlist()
    {
    	struct List* list = (struct List*)malloc(sizeof(struct List));
    	assert(list);
    	list->pronode = NULL;
    	list->tailnode = NULL;
    	list->size = 0;//初始化
    	return  list;
     
    }

    增加節點

    用表頭插入的方法插入節點

    void insertbyhead(struct List* list,int date)
    {
    	PNODE newnode = creatnode(date);
    	if (list->size == 0)
    	{
    		list->pronode = list->tailnode = newnode;
    	}
    	else
    	{
    		newnode->next = list->pronode;
    		list->pronode = newnode;
    	}
    	list->size++;
    }

    刪除節點

    //表頭刪除
    void deletehead(struct List* list)
    {
    	PNODE next = list->pronode->next;
    	free(list->pronode);
    	list->pronode = next;
    }
    //表尾刪除
    void deletetail(struct List* list)
    {
    	PNODE pmove = list->pronode;//定義一個移動指針
                                    //目的找到表尾指針
    	if (list->size == 0)
    	{
    		printf("無法刪除");
    		return;
    	}
    	while (pmove->next != list->tailnode)
    	{
    		pmove = pmove->next;
    	}
    	pmove->next = NULL;//表尾指針前面一個下一個指向null
    	free(list->tailnode);
    	list->tailnode = pmove;
     
    }

    以上是“C++數據結構中鏈表有哪些操作”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

    向AI問一下細節

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

    c++
    AI

    锦屏县| 修水县| 邻水| 平邑县| 云梦县| 乐安县| 阜宁县| 天长市| 城固县| 尉氏县| 普兰县| 莆田市| 个旧市| 房山区| 福清市| 上林县| 尉犁县| 闸北区| 鲁山县| 安溪县| 义马市| 郧西县| 遵义县| 黄冈市| 龙海市| 吕梁市| 吉安市| 逊克县| 南涧| 榆中县| 英吉沙县| 天祝| 长治县| 甘南县| 仙居县| 泰宁县| 鹿泉市| 绥宁县| 迁安市| 日照市| 麟游县|