下面**為單鏈表的一些基本操作:
#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 需要預分配儲存空間,分大了浪費,分小了易發生上溢 單...