鍊錶的各種操作

2021-06-05 02:28:37 字數 1533 閱讀 5558

鍊錶的各種操作

typedef struct lnode lnode ,*linklist;

//建立乙個鏈式表 向表中加入資料

status listset(linklist &head)}

}p2->next=null;

return ok;

}// 返回鏈式表的長度

int listlength(linklist head)

return i;

}//在第i個位置插入乙個元素

status listinsert(linklist &head,int i,linklist l)

else if(i==listlength(head))

else

p1->next=l;

l->next=p2;}

return ok;

}//刪除第i個位置上的元素

status listdelete(linklist &head,int i)

else

p2->next=p1->next;}

return ok;

}//查詢鏈式表中是否存在元素e,並返回他的位置

status locateelemtype(linklist head,elem e,int &i)

return ok;

}//從小到大排序

status order(linklist &head)

p1=p2;}

}return ok;

}//將兩個有序的鏈式表合併為乙個有序的鏈式表//從小到大的順序

status unionlist(linklist head1,linklist head2,linklist &head)

else

}p->next=p1?p1:p2;

return ok;

}//將鏈式表逆置

status reserve(linklist &head,linklist &p)return ok;

}//將兩個鏈式表連線起來

status link(linklist &head1,linklist head2) //若 k 是鍊錶的元素 就返回它的後繼元素

int nextelem(linklist head,elem k)

if(p->next)

return e=p->next->data;

return error;

}//若 k 是鍊錶的元素 就返回它的前驅元素

status priorelem(linklist head,elem k,elem &e)

while(p1->data!=k)

e=p2->data;

return ok;

}//輸出鏈式表中的元素

void print(linklist head) //輸出鏈式表中的元素

while(p!=null);

coutcout<<"建立乙個鏈式表,請輸入元素以零結束:"<>choice;

switch(choice)

}

鍊錶的各種操作

鍊錶的基本操作都寫在下面了 具體內容寫在 注釋中了 include include include include using namespace std struct listnode 增,傳進來要增加尾的鍊錶的表頭 可利用這個函式來建立鍊錶 void create listnode head,i...

鍊錶的各種操作

include include typedef struct node node typedef struct lists void add lists list,int num 建立新鍊錶 void print lists list 輸出鍊錶 void frees lists list 清除鍊錶 ...

鍊錶的各種基本操作

class linklist class node public node 在煉表頭新增節點 param value public void addfirst int value 在鏈尾新增節點 param value public void addlast int value 指定位置新增節點 p...