目的要求:
⑴掌握單向鍊錶的儲存特點及其實現。
⑵掌握單向鍊錶的插入、刪除演算法及其應用演算法的程式實現。
實驗內容:
⑴隨機產生或鍵盤輸入一組元素,建立乙個帶頭結點的單向鍊錶(無序)。
⑵遍歷單向鍊錶。
⑶把單向鍊錶中元素逆置(不允許申請新的結點空間)。
⑷在單向鍊錶中刪除所有的偶數元素結點。
⑸編寫在非遞減有序鍊錶中插入乙個元素使鍊錶元素仍有序的函式,並利用該函式建立乙個非遞減有序單向鍊錶。
⑹利用演算法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 在鍊錶中進行搜尋,輸出其在鍊錶中的...