線性表的有關操作

2021-07-11 01:30:36 字數 1547 閱讀 8743

目的要求:

⑴掌握單向鍊錶的儲存特點及其實現。

⑵掌握單向鍊錶的插入、刪除演算法及其應用演算法的程式實現。

實驗內容:

⑴隨機產生或鍵盤輸入一組元素,建立乙個帶頭結點的單向鍊錶(無序)。

⑵遍歷單向鍊錶。

⑶把單向鍊錶中元素逆置(不允許申請新的結點空間)。

⑷在單向鍊錶中刪除所有的偶數元素結點。

⑸編寫在非遞減有序鍊錶中插入乙個元素使鍊錶元素仍有序的函式,並利用該函式建立乙個非遞減有序單向鍊錶。

⑹利用演算法5建立兩個非遞減有序單向鍊錶,然後合併成乙個非遞增鍊錶。

⑺利用演算法5建立兩個非遞減有序單向鍊錶,然後合併成乙個非遞減鍊錶。

#include #include #include #include#include#include#includeusing namespace std;

typedef long long ll;

struct data

;data shuru(int n,data root)///輸入

return root;

}void bianli(data root)///遍歷

coutwhile(pp!=null)

root.next=p;

return root;

}data shanoushu(data root)///刪除偶數節點

return root;

}data charupaixu(data root,int n)///遞增插入排序

p=pp;

pp=pp->next;

}data *s=(data *)malloc(sizeof(data));

s->n=n,s->next=null;

p->next=s;

return root;

}data dijianhebing(data root1,data root2)///遞減合併

else if(p!=null)

t->n=p->n, t->next=null,pp->next=t,p=p->next;

else

t->n=q->n,t->next=null,pp->next=t,q=q->next;

pp=t;

}root1=nizhi(root1);

root2=nizhi(root2);

return root;

}data dizenghebing(data root1,data root2)///遞增合併

else if(p!=null)

t->n=p->n, t->next=null,pp->next=t,p=p->next;

else

t->n=q->n,t->next=null,pp->next=t,q=q->next;

pp=t;

}return root;

}int main()

bianli(root);

coutp=p->next;

}bianli(root2);

cout<

線性表的有關操作

實驗名稱 線性表的有關操作 實驗室名稱 實驗台號 學生姓名 專業班級 指導教師 實驗日期 2017 6 8 一 實驗目的1 掌握單向鍊錶的儲存特點及其實現。2 理解和掌握單鏈表的型別定義方法和結點生成方法。3 掌握單向鍊錶的插入 刪除演算法及其應用演算法的程式實現。二 實驗儀器及環境 pc計算機 w...

線性表操作

include stdio.h define maxsize 20 define overflow 1 define ok 1 define error 1 void init seqlist int length pointer 構造乙個空的線性表 int insert last int elem...

線性表操作

大概實現的功能 1 建立線性表類。線性表的儲存結構使用鍊錶。2 提供操作 自表首插入元素 刪除指定元素 搜尋表中是否有指定元素 輸出鍊錶。3 接收鍵盤錄入的一系列整數 例10,25,8,33,60 作為節點的元素值,建立鍊錶。輸出鍊錶內容。4 輸入乙個整數 例33 在鍊錶中進行搜尋,輸出其在鍊錶中的...