線性表之鏈式儲存結構

2021-06-06 06:56:04 字數 1496 閱讀 4475

下面**為單鏈表的一些基本操作:

#include using namespace std;

typedef int elemtype;

typedef struct lnode

*linklist;

//逆序建立鍊錶

linklist recreatelinklist(linklist &l)

cout<<"l = "<>n;

char str[100];

sprintf(str,"請輸入%d個元素\n",n);

coutlinklist l = head;

for(int i=0;i>elem;

linklist p = (linklist)malloc(sizeof(lnode));

p->data = elem;

p->next = null;

l->next = p;

l = p;

} return head;

}//上面的注釋是錯誤的,可以返回區域性指標變數的值,值可以為位址。但是不可以返回區域性變數的位址。剛剛理解這句話:-d

linklist createlinklistanthor(linklist &l)

return head;

}//查詢倒數第k個結點的值

elemtype findvalue(linklist &l,int k)

while(p->next != null)

return l->data;

}//求煉表中的最大值

linklist findmax(linklist l)

l = l->next;

} return p;

}//求煉表中的最小值

linklist findmin(linklist l)

l = l->next;

} return p;

}linklist insertlinklist(linklist &l,int i,int value)

linklist p = (linklist)malloc(sizeof(lnode));

p->data = value;

p->next = head->next;

head->next = p;

return l;

}linklist deletelinklist(linklist &l,linklist p)

if(l->next == p)

return l;

}linklist deletelinklist(linklist &l,int location)

/*linklist p = head->next;

coutdatanext;

delete p;

*/ /*好好注意 記憶體問題*/

coutdata<<" "next->datanext->next;

return l;

}void print(linklist l)

cout<

線性表的鏈式儲存結構

線性表的鏈式儲存結構 順序儲存結構不足的解決辦法 缺點 最大的缺點就是插入和刪除時需要移動大量元素。為了表示每個資料元素 ai與其直接後續資料元素 ai 1 之間的邏輯關係,對資料元素 ai來說,除了儲存其本身的資訊之外,還需儲存乙個指示其直接後續的資訊。我們把儲存資料元素資訊的域稱為資料域,把儲存...

線性表的鏈式儲存結構

線性表的鏈式儲存結構,雙向鍊錶實現 package 線性表 public class dulinklist public node t data,node prev,node next 儲存該鍊錶的頭節點 private node header 儲存該鍊錶的尾節點 private node tail...

線性表的鏈式儲存結構

順序儲存結構的缺點 插入和刪除時需要移動大量元素 鏈式儲存結構的特點 用一組任意的儲存單元儲存線性表的資料元素 資料結構 儲存分配方式 時間效能 空間效能 順序儲存結構 用一段連續的儲存單元一次儲存線性表的資料元素 查詢 o 1 插入刪除 o n 需要預分配儲存空間,分大了浪費,分小了易發生上溢 單...