簡單鍊錶操作

2021-06-16 19:48:14 字數 1789 閱讀 3859

#include using namespace std;

// 鍊錶結構體

struct node

;// 建立鍊錶、返回煉表頭指標

node* createnodes()

head = head->next;

next->next = null;

return head;

}// 列印鍊錶,未使用遞迴

/*void printnodes(node* node)

coutprintnodes(node->next);

}// 鍊錶長度

int nodeslength(node* node)

return currentlengt;

}// 排序

void sortnode(node* node)

// 資料排序

for(int j = 0; j < len; ++j)

}} // 重新設定每個節點的資料

for(int nodenum = 0; nodenum < len; ++nodenum)

}// 新增節點

/*node* insertnode(node* head, int data)

if(temphead == null) // 在最後面插入元素

else

else // 插在中間

}return head;}*/

// 新增節點

void insertnode(node** head, int data)

// 找到要新增節點的位置

while(temphead != null && temphead->data <= data)

if(temphead == null) // 插入的元素最大,直接插在最後面

else

else // 插入在中間

}}// 鍊錶刪除,刪除資料為data的結點

/*node* deletenode(node* head, int data)

if(delenode->next != null) // 後面還有元素

else // 刪除的是中間元素

}else

else // 將要刪除的是鍊錶最後乙個元素

}delete delenode;

delenode = null; return head;}*/

// 鍊錶刪除,刪除資料為data的結點

void deletenode(node** head, int data)

if(delnode->next != null) // 後面還有元素

else // 中間元素

}else

else // 鍊錶最後元素

}delete delnode;

delnode = null;

}// 翻轉

/*node* reverse(node* head)

head->next = null; // currentnode1在堆記憶體位置沒有改變

head = currentnode1;

return head;

}*/// 翻轉

void reverse(node** head)

(*head)->next = null;

*head = currentnode1;

}int main()

簡單鍊錶操作

先是最簡單的,建立,刪除節點,有序鍊錶新增節點,反轉等,如下 include using namespace std struct node node createlink int a,int len else return head void show node head coutelse bre...

鍊錶簡單操作

color green 鍊錶 是一種常見的基礎資料結構,是一種線性表,但是並不會按線性的順序儲存資料,而是在每乙個節點裡存到下乙個節點的資訊 相當與c 的指標 鍊錶的主要操作 增,刪,查,改,其它。1.增加乙個鍊錶元素 加入鍊錶元素,加到尾部 public void add object obj e...

C 簡單鍊錶操作

include include include 定義乙個數字節點 typedef struct tagstnode stnode 建立inum個節點,返回指向第乙個節點的指標 stnode create int inum 列印 void print stnode psthead 將鍊錶反轉 stno...