#includeusing namespace std;
typedef struct node node, *linklist;
linklist initlist(linklist l)
l->next = null;
return l;
}void createlisthead(linklist *l, int n)
p->data = i;
p->next = (*l)->next;
(*l)->next = p;
}}void createlisttail(linklist *l, int n)
r->next = null; //表示當前鍊錶結束
}//單鏈表的整表刪除
void clearlist(linklist *l)
(*l)->next = null; //將頭節點指標域置空
}//在鍊錶第i個位置插入元素e
void listinsert (linklist *l, int i, int e)
if(!p || i < j) //第i個節點不存在
return;
//生成乙個新節點
linklist s = (linklist)malloc(sizeof(node));
s->data = e;
s->next = p->next;
p->next = s;
}//刪除第i個元素並用e返回其值
void listdelete(linklist *l, int i, int *e)
if(!p->next && j < i)
return;
*e = p->next->data;
p->next = p->next->next;
free(p->next);
}//列印輸出鍊錶的值
void printlist(linklist l)
cout << endl;
}int main()
單鏈表的建立
include stdio.h include stdlib.h typedef int datatype typedef struct node listnode typedef listnode linklist linklist createlist void 單鏈表的建立,從後向前生成 s ...
單鏈表的建立
單鏈表的建立 演算法思路 先建立乙個空資料域的煉表頭指標 從該節點依次插入新節點讀入資料 直至輸入ctrl z結束輸入 include include typedef int elemtype 定義資料鏈表結構 typedef struct nodenode,linklist 建立鍊錶 頭插法,先是...
單鏈表的建立
線性表的順序儲存結構的特點是邏輯關係上相鄰的兩個元素在物理位置上也相鄰,因此可以隨機訪問表中的任意乙個元素。但在對順序表進行插入,刪除操作時需要對順序表中的資料元素進行移位操作,降低了效率。鏈式儲存結構就很好的解決了移位這個問題,它不需要一塊連續的位址空間,因為他不要求邏輯結構上相鄰的兩個數物理結構...