#include
using namespace std;
const int maxsize=100;
template
struct node ;
template
class linklist ;
template
linklist::linklist()
template
linklist::linklist (datatype a,int n)
}template
linklist::~linklist()
}template
int linklist::length()
return count;//注意count的初始化和返回值之間的關係
}template
datatype linklist::get (int i)
if (pnullptr)
throw"查詢位置錯誤";
else
return p->data;
}template
int linklist::locate (datatype x)
return 0;//退出迴圈表明查詢失敗
}template
void linklist::insert (int i,datatype x)
if (pnullptr)
throw"插入位置錯誤";//沒有找到第i-1個結點
else
}template
datatype linklist::delete (int i)
if (pnullptr||p->nextnullptr) //結點p不存在或p的後繼結點不存在
throw"刪除位置錯誤";
else
}template
int linklist::empty()
template
void linklist::printlist()
cout<>coef>>exp;//輸入第一項的係數和指數
while (coef!=0)
r->link=nullptr;
}template
polynomial::polynomial (const polynomial &b)
template
polynomial::~polynomial()
}template
polynomial polynomial::operator+ (polynomial &b) else if (p->exp>q->exp) else else
qre->link=q->link;//第三種情況都要刪除結點q
delete q;
q=qre->link;}}
if (q!=nullptr)
pre->link=q;
return *this;
}template
void polynomial::print()
cout<>n;
a[i]=n;
}cout<<「請輸入第二個集合中的元素:」<>n;
b[i]=n;
}linklist l,l3,l4,l5;
linklist l1(a,6);
linklist l2(b,6);
cout<<「兩個集合的並運算:」<6)
}l3.printlist();
cout<<「兩個集合的交運算:」 for(int i=0;i<6;i++)}} l4.printlist(); cout<<「兩個集合的差運算:」 bool judge=false; for(int i=0;i<6;i++) else }if(judge) }l5.printlist(); polynomial c{}; c.print(); polynomial d{}; d.print(); polynomial e=c+d; cout<<「結果是:」 return 0; } include includetypedef struct node 定義鍊錶 snode snode creat 建立鍊錶的函式 q next null return head int length snode head 測鍊錶的結點數 return i void display snode he... 單鏈表夜市線性表的一種表現形式,乙個表節點由乙個資料空間和乙個指標域組成。指標域記錄下乙個結點的位址。鍊錶在插入,刪除功能中效率高。但是讀取某個結點的時候需要順序讀取。效率不如順序儲存形式。下面是一些鍊錶實現的 鍊錶.cpp 定義控制台應用程式的入口點。include stdafx.h define... 單鏈表是資料結構中重要並且基礎的一環,學習資料結構就需要知道單鏈表有的常用操作。1 單鏈表的頭插式建立 2 單鏈表的尾插式建立 3 單鏈表的長度計算 4 單鏈表的列印輸出 5 單鏈表的釋放操作 6 單鏈表是否為空判斷 7 單鏈表在指定index插入指定元素 8 單鏈表刪除指定index的節點 9 單...單鏈表的實現
單鏈表的實現
單鏈表的實現