數(shù)據(jù)結(jié)構(gòu)第二章筆記【代碼實(shí)現(xiàn),經(jīng)反復(fù)測(cè)試】
一.關(guān)于類(lèi)的部分
說(shuō)明:
在(datastucture.h)中,封裝一個(gè)名為datastucture的命名空間,在名為datastucture的命名空間封裝一個(gè)class LinearList名為線(xiàn)性表的類(lèi):
#pragma once
#define _CRT_SECURE_NO_WARNINGS
#include <malloc.h>
#include <stdio.h>
namespace datastucture{
class LinearList//1.線(xiàn)性表的類(lèi)
? ? {
? ? typedef public int ElemType;
#pragma region 1.定義_順序表初始化
#define MaxSize 50
? ? ? ? typedef struct {
? ? ? ? ? ? ElemType data[MaxSize];
? ? ? ? ? ? int length;//順序表的當(dāng)前長(zhǎng)度
? ? ? ? }SqList;//靜態(tài)順序表
public:SqList SqList1,SqList2,SqList3;
#define InitSize 100
? ? ? ? ? typedef struct {
? ? ? ? ? ? ? ElemType* data;//指示動(dòng)態(tài)分配數(shù)組的指針
? ? ? ? ? ? ? int MaxSize1, length;//數(shù)組的最大容量和當(dāng)前個(gè)數(shù)
? ? ? ? ? }SeqList;//動(dòng)態(tài)順序表
? ? public:SqList SeqList1,SeqList2,SeqList3;
#pragma endregion
#pragma region 2.定義_鏈表初始化
typedef struct LNode { //定義單鏈表結(jié)點(diǎn)類(lèi)型
? ? ? ? ? ElemType data; //數(shù)據(jù)域
? ? ? ? ? struct LNode* next; //指針域
}LNode, * LinkList;
?public: LinkList L1,L2,L3,L4;
?public: LNode*LN1=NULL, *LN2 = NULL;//定義指向節(jié)點(diǎn)的指針LN1,LN2
typedef struct DNode { //定義雙鏈表結(jié)點(diǎn)類(lèi)型
? ? ? ? ? ?ElemType data; //數(shù)據(jù)域
? ? ? ? ? ?struct DNode* prior, * next; //前驅(qū)和后繼指針
? ? ? ?}DNode, * DLinkList;
#define MaxSize 50 //靜態(tài)鏈表的最大長(zhǎng)度
typedef struct { //定義靜態(tài)鏈表結(jié)構(gòu)類(lèi)型
? ? ElemType data; //存儲(chǔ)數(shù)據(jù)元素
? ? int next; //下一個(gè)元素的數(shù)組下標(biāo)
}SLinkList[MaxSize];
#pragma endregion
#pragma region 1.方法_順序表方法
public:SqList CreateList(void) {//本算法實(shí)現(xiàn)初始化序表中的靜態(tài)順序表,并不帶元素。
? ? ? ?SqList L;
? ? ? ?L.length = 0;
? ? ? ?return L;
? ? }
public:SqList CreateList(ElemType e1, ElemType e2, ElemType e3) {//本算法實(shí)現(xiàn)初始化序表中的靜態(tài)順序表,并帶3個(gè)元素。
? ? ? ?SqList L;
? ? ? ?L.data[0] = e1;
? ? ? ?L.data[1] = e2;
? ? ? ?L.data[2] = e3;
? ? ? ?L.length = 3;
? ? ? ?return L;
? ? }
public:bool Listinsert(SqList& L, int i, ElemType e) {//本算法實(shí)現(xiàn)刪插入序表中的靜態(tài)順序表L中第i個(gè)位置的元素
? ? ? ? if (i<1 || i>L.length + 1) //判斷i的范圍是否有效
? ? ? ? ? ? return false;
? ? ? ? if (L.length >= MaxSize) //當(dāng)前存儲(chǔ)空間己滿(mǎn),不能插入
? ? ? ? ? ? return? false;
? ? ? ? for (int j = L.length;j >= i;j--)//將第i個(gè)元素及之后的元素后移
? ? ? ? ? ? L.data[j] = L.data[j - 1];
? ? ? ? L.data[i - 1] = e;//在位置i處放入e
? ? ? ? L.length++; //線(xiàn)性表長(zhǎng)度加1
? ? ? ? return true;
? ? }
public:bool ListDelete(SqList& L, int i, ElemType& e) {//本算法實(shí)現(xiàn)刪除順序表中的靜態(tài)順序表L中第i個(gè)位置的元素
? ? ? ? ? if (i<1 || i>L.length) //判斷i的范圍是否有效
? ? ? ? ? ? ? return false;
? ? ? ? ? e = L.data[i - 1]; //將被刪除的元素賦值給e
? ? ? ? ? for (int j = i;j < L.length;j++)//將第i個(gè)位置之后的元素前移
? ? ? ? ? ? ? L.data[j - 1] = L.data[j];
? ? ? ? ? L.length--; //線(xiàn)性表長(zhǎng)度減1?
? ? ? ? ? return true;
? ? ? }
public:int LocateElem(SqList L, ElemType e) {//本算法實(shí)現(xiàn)查找順序表中的靜態(tài)順序表L中查找第一個(gè)元素值等于e的元素
? ? ? ? //實(shí)現(xiàn)查找順序表中值為e的元素
? ? ? ? int i;
? ? ? ? for (i = 0;i < L.length;i++)
? ? ? ? ? ? if (L.data[i] == e)
? ? ? ? ? ? ? ? return i + 1; //返回其位序i+1
? ? ? ? return 0; //退出循環(huán),說(shuō)明查找失敗
? ? }
public:ElemType GetElem(SqList L, int i) {//本算法實(shí)現(xiàn)查找順序表中的靜態(tài)順序表L中查找第i元素值
? ? ? ? if (i<1 || i>L.length)
? ? ? ? ? ? return 0; //退出循環(huán),說(shuō)明查找失敗
? ? ? ? else
? ? ? ? ? ? return L.data[i - 1];
? ? }
public:bool UpdateElem(SqList& L, int i, ElemType e) {//本算法實(shí)現(xiàn)查找順序表中的靜態(tài)順序表L中查找第i元素值
? ? ? ? if (i<1 || i>L.length)
? ? ? ? ? ? return false; //退出循環(huán),說(shuō)明查找失敗
? ? ? ? else
? ? ? ? ? ? L.data[i - 1] = e;
? ? ? ? return true;
? ? }
public:void PrintList(SqList& L)//直接全部查詢(xún)
? ? ? {
? ? ? ? ? for (int i = 0; i < L.length; i++)
? ? ? ? ? {
? ? ? ? ? ? ? printf("%d? ?", L.data[i]);
? ? ? ? ? }
? ? ? ? ? printf("\n");
? ? ? }
public:void PrintList(SqList& L, bool ret)//根據(jù)結(jié)果并查詢(xún)
? ? {
? ? ? ? if (ret!=0)
? ? ? ? {
? ? ? ? ? ? printf("True:");
? ? ? ? ? ? PrintList(L);
? ? ? ? }
? ? ? ? else {
? ? ? ? ? ? printf("False\n");
? ? ? ? }
? ? }
? ? public:void PrintList(SqList& L, int ret)//根據(jù)結(jié)果并查詢(xún)
? ? {
? ? ? ? if (ret)
? ? ? ? {
? ? ? ? ? ? printf("True:");
? ? ? ? ? ? PrintList(L);
? ? ? ? }
? ? ? ? else {
? ? ? ? ? ? printf("False\n");
? ? ? ? }
? ? }
#pragma endregion
#pragma region 2.方法_單鏈表方法
/*
#include <malloc.h>
#include <stdio.h>
*/
#define ERROR 9999
? ? ? ? ? bool IsLinkListEmpty(LinkList L)//判斷單鏈表
? ? ? ? ? {
? ? ? ? ? ? ? return (L==NULL);
? ? ? ? ? }
? ? ? ? ? void DestroyLinkList(LinkList& L)//銷(xiāo)毀單鏈表
? ? ? ? ? {
? ? ? ? ? ? ? if (L == NULL)
? ? ? ? ? ? ? ? ? return;
? ? ? ? ? ? ? LNode* p = L;
? ? ? ? ? ? ? LNode* s=L->next;
? ? ? ? ? ? ? while (s!=NULL)
? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? free(p);//釋放上一個(gè)結(jié)點(diǎn)
? ? ? ? ? ? ? ? ? p = s;//定位下一個(gè)結(jié)點(diǎn)
? ? ? ? ? ? ? ? ? s = s->next;//轉(zhuǎn)向下一個(gè)結(jié)點(diǎn)
? ? ? ? ? ? ? }
? ? ? ? ? ? ? free(s);
? ? ? ? ? ? ? L = NULL;//防止野指針。
? ? ? ? ??
? ? ? ? ? }
? ? ? LinkList CreateLinkList1(LinkList& L) {
? ? ? ? ? //從表尾到表頭逆向建立單鏈表L,每次均在頭結(jié)點(diǎn)之后插入元素
? ? ? ? ? LNode* s;int x;
? ? ? ? ? L = (LinkList)malloc(sizeof(LNode)); //創(chuàng)建頭結(jié)點(diǎn)
? ? ? ? ? L->next = NULL; //初始化為空鏈表?
? ? ? ? ? scanf("%d", &x);
? ? ? ? ? while (x!= ERROR) { //循環(huán)輸入
? ? ? ? ? ? ? s = (LNode*)malloc(sizeof(LNode));//創(chuàng)建新結(jié)點(diǎn)
? ? ? ? ? ? ? s->data = x;
? ? ? ? ? ? ? s->next = L->next;
? ? ? ? ? ? ? L->next = s; //將新結(jié)點(diǎn)插入表中,L為頭指針
? ? ? ? ? ? ? scanf("%d", &x);
? ? ? ? ? }//while結(jié)束
? ? ? ? ? return L;
? ? ? }
? ? ? LinkList CreateLinkList2(LinkList& L) {
? ? ? ? ? //從表頭到表尾正向建立單鏈表L,每次均在表尾插入元素
? ? ? ? ? int x; //設(shè)元素類(lèi)型為整型
? ? ? ? ? L = (LinkList)malloc(sizeof(LNode));
? ? ? ? ? LNode* s, * r = L; //r為表尾指針
? ? ? ? ? int y= scanf("%d", &x);
? ? ? ? ? while (x != ERROR) { //循環(huán)輸入
? ? ? ? ? ? ? s = (LNode*)malloc(sizeof(LNode));
? ? ? ? ? ? ? s->data = x;
? ? ? ? ? ? ? r->next = s;
? ? ? ? ? ? ? r = s; //r指向新的表尾結(jié)點(diǎn)
? ? ? ? ? ? ? scanf("%d", &x);
? ? ? ? ? }?
? ? ? ? ? r->next = NULL; //尾結(jié)點(diǎn)指針置空
? ? ? ? ? return L;
? ? ? }
? ? ? void PrintLinkList(LinkList L)
? ? ? {
? ? ? ? ? L = L->next;
? ? ? ? ? while (L!=NULL)
? ? ? ? ? {
? ? ? ? ? ? ? printf("%d? ",L->data);
? ? ? ? ? ? ? L= L->next;
? ? ? ? ? }
? ? ? ? ? printf("\n");
? ? ? }
? ? ? LNode* GetElem(LinkList L, int i) {//按序號(hào)查找結(jié)點(diǎn)值的算法如下:
? ? ? ? ? //本算法取出單鏈表L(帶頭結(jié)點(diǎn))中第i個(gè)位置的結(jié)點(diǎn)指針
? ? ? ? ? if (i < 0)
? ? ? ? ? ? ? return NULL; //若i無(wú)效,則返回NULL?
? ? ? ? ? if (i == 0)
? ? ? ? ? ? ? return L;? //若i==0,則返回頭結(jié)點(diǎn)?
? ? ? ? ? int j = 1; //計(jì)數(shù),初始化為1
? ? ? ? ? LNode* p = L->next; //頭結(jié)點(diǎn)指針賦給P?
? ? ? ? ? while (p != NULL && j < i) { //從第1個(gè)結(jié)點(diǎn)開(kāi)始找,查找第i個(gè)結(jié)點(diǎn)
? ? ? ? ? ? ? p = p->next;
? ? ? ? ? ? ? j++;
? ? ? ? ? }
? ? ? ? ? return p; //返回第i個(gè)結(jié)點(diǎn)的指針,如果i大于表長(zhǎng),p= NULL,直接返回p即可
? ? ? }
? ? ? LNode* LocateElem(LinkList L, ElemType e) {
? ? ? ? ? //本算法查找單鏈表L(帶頭結(jié)點(diǎn))中數(shù)據(jù)域值等于e的結(jié)點(diǎn)指針,否則返回NULL
? ? ? ? ? LNode* p = L->next;
? ? ? ? ? while (p != NULL && p->data != e)//從第1個(gè)結(jié)點(diǎn)開(kāi)始查找data域?yàn)閑的結(jié)點(diǎn)
? ? ? ? ? ? ? p = p->next;
? ? ? ? ? return p; //找到后返回該結(jié)點(diǎn)指針,否則返回NULL
? ? ? }
? ? ? bool DeleteLinkListNode(LinkList &L, int i)//刪除第i個(gè)節(jié)點(diǎn)
? ? ? {
? ? ? ??
? ? ? ? ? LinkList p = GetElem(L, i-1);//查找刪除位置的前驅(qū)結(jié)點(diǎn)
? ? ? ? ? if (p == NULL)
? ? ? ? ? {
? ? ? ? ? ? ? return false;
? ? ? ? ? }
? ? ? ? ? LinkList q;
? ? ? ? ? q = p->next;//令q指向被刪除結(jié)點(diǎn)
? ? ? ? ? p->next = q->next;//將*q結(jié)點(diǎn)從鏈中“斷開(kāi)”,斷鏈。
? ? ? ? ? free(q);//釋放結(jié)點(diǎn)的存儲(chǔ)空間
? ? ? ? ? q = NULL;//為了避免野指針
? ? ? ? ? return true;
? ? ? }
? ? ? int LinkListLength(LinkList L)//求表長(zhǎng)
? ? ? {
? ? ? ? ? int length = 0;//定義一個(gè)變量來(lái)記錄表長(zhǎng)
? ? ? ? ? if (L == NULL || L->next == NULL)
? ? ? ? ? ? ? return length;
? ? ? ? ? LNode* p = L;
? ? ? ? ? while (p->next != NULL)
? ? ? ? ? {
? ? ? ? ? ? ? p = p->next;
? ? ? ? ? ? ? length++;
? ? ? ? ? }
? ? ? ? ? return length;//返回表長(zhǎng)
? ? ? }
? ? ? bool UpdateLinkList(LinkList &L,int i,ElemType e)//單鏈表改第i結(jié)點(diǎn)的數(shù)據(jù)
? ? ? {
? ? ? ? ? if (i == 0)//頭結(jié)點(diǎn)不可修改指
? ? ? ? ? ? ? return false;
? ? ? ? ? if (i < 0)//位置不合法
? ? ? ? ? ? ? return false;
? ? ? ? ? LinkList p = GetElem(L, i);//查找第i結(jié)點(diǎn)的數(shù)據(jù)結(jié)點(diǎn)
? ? ? ? ? p->data = e;//修改第i結(jié)點(diǎn)的數(shù)據(jù)
? ? ? ? ? return true;
? ? ? }
? ? ? bool InsertLinkListNode1(LinkList &L, int i, ElemType e)//前插法插入第i個(gè)節(jié)點(diǎn)
? ? ? {
? ? ? ? ? LinkList p = GetElem(L, i - 1);//查找刪除位置的前驅(qū)結(jié)點(diǎn)
? ? ? ? ? if (p == NULL)
? ? ? ? ? {
? ? ? ? ? ? ? return false;
? ? ? ? ? }
? ? ? ? ? LinkList s= (LNode*)malloc(sizeof(LNode));//為s指針創(chuàng)建內(nèi)存
? ? ? ? ? s->data = e;
? ? ? ? ? s->next = p->next;
? ? ? ? ? p->next = s;
? ? ? ? ? return true;
? ? ? }
? ? ? bool InsertLinkListNode2(LinkList &L, int i, ElemType e)//后插法插入第i個(gè)節(jié)點(diǎn)
? ? ? {
? ? ? ? ? LinkList p = GetElem(L, i - 1);//查找刪除位置的前驅(qū)結(jié)點(diǎn)
? ? ? ? ? if (p == NULL)
? ? ? ? ? {
? ? ? ? ? ? ? return false;
? ? ? ? ? }
? ? ? ? ? LinkList s= (LNode*)malloc(sizeof(LNode));//為s指針創(chuàng)建內(nèi)存
? ? ? ? ? s->data = e;
? ? ? ? ? s->next = p->next; //修改指針域,不能顛倒
? ? ? ? ? p->next = s;
? ? ? ? ?ElemType temp = p->data; //交換數(shù)據(jù)域部分
? ? ? ? ? p->data = s->data;
? ? ? ? ? s->data = temp;
? ? ? ? ? return true;
? ? ? }
#pragma endregion
? ? };
? ? }

二.關(guān)于main()函數(shù)的部分
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include "ConsoleApplication1.h"
#include "datastructure.h"
using namespace datastucture;
int main()
{
printf("=====================================《第一內(nèi)容.順序表B》====================================\n");
#pragma region 第一內(nèi)容.順序表
/*
順序表
1.初始化和查
2.增
3.刪
4.找
5.改
*/
LinearList List1;
#pragma region 1.順序表初始化
List1.SqList2;//取這個(gè)靜態(tài)線(xiàn)性表,想法初始化成作3元素表。
List1.SqList1 =List1.CreateList();//取線(xiàn)性表類(lèi)中.靜態(tài)線(xiàn)性表SqList1,想法初始化成作空表。
List1.SqList2 = List1.CreateList(7,8,9);//取線(xiàn)性表類(lèi)中.靜態(tài)線(xiàn)性表SqList1,想法初始化成作空表。
printf("打印一下SqList1表-空表\n");
List1.PrintList(List1.SqList1);
printf("打印一下SqList2表-7,8,9表\n");
List1.PrintList(List1.SqList2);
#pragma endregion
#pragma region 2.順序表增數(shù)據(jù)
bool res1 = List1.Listinsert(List1.SqList2, 5, 101);
printf("打印一下增后的SqList2表的不合法插入在第5個(gè)的位置插入101\n");
List1.PrintList(List1.SqList2, res1);
bool res2 = List1.Listinsert(List1.SqList2, 2, 101);
printf("打印一下增后的SqList2表的合法插入在第2個(gè)的位置插入101\n");
List1.PrintList(List1.SqList2, res2);
#pragma endregion
#pragma region 3.順序表刪數(shù)據(jù)
int del1 = -1;
int del2 = -1;
bool res3 = List1.ListDelete(List1.SqList2, 5, del1);
printf("刪除元素%d[若為-1,則視為非找到].打印一下增后的SqList2表的不合法刪除,刪除第5位置\n", del1);
List1.PrintList(List1.SqList2, res1);
bool res4 = List1.ListDelete(List1.SqList2, 3, del2);
printf("刪除元素%d[若為-1,則視為非找到].打印一下增后的SqList2表的合法刪除,刪除第3位置\n",del2);
List1.PrintList(List1.SqList2, res2);
#pragma endregion
#pragma region 4.順序表找數(shù)據(jù)
int number1= List1.LocateElem(List1.SqList2, 2);
printf("按值2查找,位置為%d[若為0,則視為非找到].打印一下增后的SqList2表的不合法查找\n", number1);
List1.PrintList(List1.SqList2, number1);
int number3 = List1.LocateElem(List1.SqList2, 9);
printf("按值9查找,位置為%d[若為0,則視為非找到].打印一下增后的SqList2表的合法查找\n", number3);
List1.PrintList(List1.SqList2, number3);
int number2 = List1.GetElem(List1.SqList2, 2);
printf("按位置2查找元素為%d[若為0,則視為非找到].打印一下增后的SqList2表的合法查找\n", number2);
List1.PrintList(List1.SqList2, number2);
int number4 = List1.GetElem(List1.SqList2, 7);
printf("按位置7查找元素為%d[若為0,則視為非找到].打印一下增后的SqList2表的不合法查找\n", number4);
List1.PrintList(List1.SqList2, number4);
#pragma endregion
#pragma region 5.順序表改數(shù)據(jù)
bool res5 = List1.UpdateElem(List1.SqList2, 2, 444);
printf("按位修改元素.打印一下增后的SqList2表的合法修改,將第2個(gè)位置修改成444\n");
List1.PrintList(List1.SqList2, res5);
bool res6 = List1.UpdateElem(List1.SqList2, 8, 444);
printf("按位修改元素.打印一下增后的SqList2表的不合法修改,將第8個(gè)位置修改成444\n");
List1.PrintList(List1.SqList2, res6);
#pragma endregion
#pragma endregion
printf("=====================================《第一內(nèi)容.順序表E》====================================\n");
printf("=====================================《第二內(nèi)容.鏈表B》====================================\n");
#pragma region 第二內(nèi)容.鏈表
/*
鏈表
1.初始化和查
2.增
3.刪
4.找
5.改
*/
#pragma region 1.單鏈表頭插法初始化
printf("用頭插法生成帶頭結(jié)點(diǎn)的單鏈表??刂婆_(tái)輸入:1 2 3 4 5 9999\n");
List1.L1 = List1.CreateLinkList1(List1.L1);//頭插法,生成一個(gè)帶頭結(jié)點(diǎn)的
printf("得到的頭插法生成帶頭結(jié)點(diǎn)的單鏈表:");
List1.PrintLinkList(List1.L1);
#pragma endregion
#pragma region 2.單鏈表尾插法初始化
printf("用尾插法生成帶頭結(jié)點(diǎn)的單鏈表??刂婆_(tái)輸入:1 2 3 4 5 9999\n");
List1.L2 = List1.CreateLinkList2(List1.L2);//頭插法,生成一個(gè)帶頭結(jié)點(diǎn)的
printf("得到的尾插法生成帶頭結(jié)點(diǎn)的單鏈表:");
List1.PrintLinkList(List1.L2);
#pragma endregion
#pragma region 3.單鏈表按位查找
printf("用按位2查找List1.L1\n");
List1.LN1 = List1.GetElem(List1.L1, 2);
if (List1.LN1!=NULL)
{
printf("用按位2查找,查找到的值為%d:\n",List1.LN1->data);
}
#pragma endregion
#pragma region 4.單鏈表按值查找
printf("用按值2查找List1.L1\n");
List1.LN2 = List1.LocateElem(List1.L1, 2);
if (List1.LN2 != NULL)
{
printf("用按值2查找,查找到的值為%d:\n", List1.LN2->data);
}
#pragma endregion
#pragma region 5.單鏈表前插法插入元素
printf("前插法插入元素888到List1.L1的第2個(gè)位置上\n");
bool res10=List1.InsertLinkListNode1(List1.L1,2,888);
if (res10)
{
printf("True\n");
List1.PrintLinkList(List1.L1);
}
else
{
printf("False\n");
}
#pragma endregion
#pragma region 6.單鏈表后插法插入元素
printf("后插法插入元素888到List1.L2的第2個(gè)位置上\n");
bool res11 = List1.InsertLinkListNode1(List1.L2, 2, 888);
if (res11)
{
printf("True\n");
List1.PrintLinkList(List1.L2);
}
else
{
printf("False\n");
}
#pragma endregion
#pragma region 7.單鏈表刪除第i結(jié)點(diǎn)
printf("單鏈表刪除第1結(jié)點(diǎn)\n");
bool res12 = List1.DeleteLinkListNode(List1.L1,1);
if (res12)
{
printf("True\n");
List1.PrintLinkList(List1.L1);
}
else
{
printf("False\n");
}
#pragma endregion
#pragma region 8.單鏈表改第i結(jié)點(diǎn)的數(shù)據(jù)
printf("單鏈表List1.L1改第1結(jié)點(diǎn),改成333。\n");
bool res13 = List1.UpdateLinkList(List1.L1,1, 333);
if (res13)
{
printf("True\n");
List1.PrintLinkList(List1.L1);
}
else
{
printf("False\n");
}
#pragma endregion
#pragma region 9.單鏈表表長(zhǎng)
printf("單鏈表List1.L1取表長(zhǎng):%d。\n", List1.LinkListLength(List1.L1));
#pragma endregion
#pragma region 10.銷(xiāo)毀單鏈表
printf("銷(xiāo)毀單鏈表List1.L1\n");
List1.DestroyLinkList(List1.L1);
printf("判斷List1.L1單鏈表是否被銷(xiāo)毀:%s\n", List1.IsLinkListEmpty(List1.L1) == 1 ? "TRUE" : "FALSE");
printf("判斷List1.L2單鏈表是否被銷(xiāo)毀:%s\n\n", List1.IsLinkListEmpty(List1.L2) == 1 ? "TRUE" : "FALSE");
#pragma endregion
#pragma endregion
printf("=====================================《第二內(nèi)容.鏈表E》====================================\n");
return 0;
}

三.代碼運(yùn)行后的部分
