91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 5KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-05-09
  • 語(yǔ)言: 其他
  • 標(biāo)簽: C++??Sqlist??Linklist??

資源簡(jiǎn)介

數(shù)據(jù)結(jié)構(gòu)線性表操作的一個(gè)實(shí)驗(yàn): 實(shí)驗(yàn)要求 順序和鏈?zhǔn)酱鎯?chǔ)的線性表的創(chuàng)建、獲取元素、插入和刪除元素等基本操作的實(shí)現(xiàn)。 題目要求: 輸入:一組整型數(shù)據(jù)A,一組整型數(shù)據(jù)B 輸出:A與B的交集,以及A與B的并集 要求:A和B使用兩種存儲(chǔ)方式:順序存儲(chǔ)和鏈?zhǔn)酱鎯?chǔ)。

資源截圖

代碼片段和文件信息

#include
#include
#include
using?namespace?std;
#define?OK?1//定義常用判斷詞為整型數(shù)值
#define?ERROR?0
#define?TRUE?1
#define?FALSE?0
typedef?int?Status;//定義Status為整型類型
typedef?int?ElemType;//ElemType類型可根據(jù)實(shí)際情況改變,首先定義ElemType為整型類型
struct?Node;//聲明結(jié)點(diǎn)結(jié)構(gòu)體
typedef?struct?Node?*PtrToNode;//定義PtrToNode、linkList、Position類型
typedef?PtrToNode?linkList;
typedef?PtrToNode?Position;
struct?Node//結(jié)構(gòu)體定義
{
????ElemType?data;
????Position?next;
};

//函數(shù)的聲明
linkList?InitList();//創(chuàng)建空的單鏈表
Status?IsEmpty(linkList?L);//判斷是否為空,返回0或1
Status?GetLength(linkList?L);//獲得單鏈表的長(zhǎng)度并返回
Status?GetElem(linkList?Lint?iElemType?&e);//將單鏈表L中的弟i個(gè)結(jié)點(diǎn)元素值返回給e
Status?Insert(linkList?Lint?iElemType?e);//在單鏈表的第i個(gè)結(jié)點(diǎn)前插入元素值為e的結(jié)點(diǎn)
Status?Delete(linkList?Lint?iElemType?&e);//刪除單鏈表中第i個(gè)結(jié)點(diǎn),并用e返回其值
Status?AvoidList(linkList?L);//除掉集合中重復(fù)的元素
Status?DispList(linkList?L);//打印集合中所有的元素
Status?IntersectlinkList(linkList?LalinkList?Lb);//求兩個(gè)集合的交集并打印這個(gè)交集的所有元素
Status?UnionlinkList(linkList?LalinkList?Lb);//求兩個(gè)集合的并集并打印這個(gè)并集的所有元素

//函數(shù)定義

//單鏈表初始化
linkList?InitList()
{
????linkList?L;
????L?=(linkList)?malloc(sizeof(Node))?;//創(chuàng)建一個(gè)單鏈表的頭結(jié)點(diǎn),并且指向空
????L->next?=?NULL;
????return?L;
}

//判斷單鏈表是否為空,并返回判斷結(jié)果
Status?IsEmpty(linkList?L)
{
????return?L->next?==?NULL;
}

//獲取單鏈表的長(zhǎng)度并返回
Status?GetLength(linkList?L)
{
????if(IsEmpty(L)==1)//如果單鏈表為空,則返回0
????????return?0;
????Position?p;//聲明一個(gè)指針
????p=L;
????int?i=0;
????while(p->next)//使用p->next遍歷所有結(jié)點(diǎn)直到指向NULL并計(jì)數(shù)
????{
????????i++;
????????p=p->next;
????}
????return?i;
}

//將單鏈表L中的弟i個(gè)位置元素值返回給e
Status?GetElem(linkList?Lint?i?ElemType?&e)
{
????if(IsEmpty(L)==1)//如果單鏈表為空,停止尋找
????????return?ERROR;
????int?j?=?1;//j為計(jì)數(shù)器
????Position?p;//聲明一個(gè)指針讓p指向L的第一個(gè)結(jié)點(diǎn)
????p=L->next;
????while(p&&j????{
????????p=p->next;
????????j++;
????}
????if(!p||j>i)
????????return?ERROR;//第i個(gè)結(jié)點(diǎn)不存在
????e=p->data;//取第i個(gè)結(jié)點(diǎn)的數(shù)據(jù)
????return?OK;
}

//在單鏈表中的第i個(gè)結(jié)點(diǎn)前插入值為e的結(jié)點(diǎn)
Status?Insert(linkList?Lint?iElemType?e)
{
????if(i<1)
????????return?ERROR;
????int?j=1;
????Position?ps;
????p?=?L;
????while(p&&j????{
????????p?=?p->next;
????????j++;
????}
????if(!p||j>i)
????????return?ERROR;//第i-1個(gè)結(jié)點(diǎn)不存在
????s=(linkList)malloc(sizeof(Node));//生成新結(jié)點(diǎn)
????s->data=e;
????s->next=p->next;//將p的后繼結(jié)點(diǎn)賦值給s的后繼結(jié)點(diǎn)
????p->next=s;
????return?OK;
}

//刪除單鏈表中第i個(gè)結(jié)點(diǎn),并用e返回其值
Status?Delete(linkList?Lint?iElemType?&e)
{
????if(IsEmpty(L)==1)
????????return?ERROR;
????int?j=1;
????Position?ps;
????p?=?L;
????while?(p->next?&&?j????{
????????p?=?p->next;
????????j++;
????}
????if(!(p->next)||?j>i)
????????return?ERROR;//第i個(gè)結(jié)點(diǎn)不存在
????s=p->next;
????p->next=s->next;//將s的后繼賦值給p的后繼
????e?=?s->data;//將s結(jié)點(diǎn)中的數(shù)據(jù)給e
????free(s);//釋放s結(jié)點(diǎn)
????return?OK;
}
//除掉集合中重復(fù)的元素
Status?AvoidList(linkList?L)
{
????if(IsEmpty(L)==1)
????????return?ERROR;
????ElemType?ee1e2e3;
????for(int?i=1;?i<=GetLength(L);?i++)//以前一個(gè)元素的值為基準(zhǔn),讓其后的每一個(gè)值與它比較。
????{
???

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????7777??2018-10-14?13:06??鏈?zhǔn)酱鎯?chǔ)和線性存儲(chǔ)實(shí)現(xiàn)\linkList.cpp
?????文件????????8289??2018-12-19?23:36??鏈?zhǔn)酱鎯?chǔ)和線性存儲(chǔ)實(shí)現(xiàn)\Sqlist.cpp
?????目錄???????????0??2018-12-22?15:59??鏈?zhǔn)酱鎯?chǔ)和線性存儲(chǔ)實(shí)現(xiàn)\

評(píng)論

共有 條評(píng)論