fix(datastructure.test1): 修复中文乱码
This commit is contained in:
2
DataStructure/.gitignore
vendored
Normal file
2
DataStructure/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
**/*.exe
|
||||
**/*.pdb
|
||||
@@ -4,176 +4,191 @@
|
||||
|
||||
typedef struct LNode
|
||||
{
|
||||
int data; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
struct LNode *next; // ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
} LNode, *LinkList; // LinkListΪָ<EFBFBD><EFBFBD>LNode<EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
int data; // 数据域
|
||||
struct LNode *next; // 指针域
|
||||
} LNode, *LinkList; // LinkList为指向LNode类型的指针类型
|
||||
|
||||
void chushihua(LinkList &L, LinkList &M, LinkList &N, LinkList &H) // <EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>L<EFBFBD><EFBFBD>M<EFBFBD><EFBFBD>N<EFBFBD><EFBFBD>H
|
||||
void chushihua(LinkList &L, LinkList &M, LinkList &N, LinkList &H) // 初始化四个链表L、M、N、H
|
||||
{
|
||||
// todo list
|
||||
L = (LinkList)malloc(sizeof(LNode));
|
||||
M = (LinkList)malloc(sizeof(LNode));
|
||||
N = (LinkList)malloc(sizeof(LNode));
|
||||
H = (LinkList)malloc(sizeof(LNode));
|
||||
L->next = NULL; // ֱ<><D6B1><EFBFBD>ÿգ<C3BF><D5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
||||
// 1.初始化链表,将各链表头节点的next设为NULL
|
||||
L->next = NULL;
|
||||
M->next = NULL;
|
||||
N->next = NULL;
|
||||
H->next = NULL;
|
||||
printf("链表初始化完成\n");
|
||||
}
|
||||
void Emp(LinkList &L) // <20>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>L<EFBFBD>Ƿ<EFBFBD>Ϊ<EFBFBD>ձ<EFBFBD>
|
||||
|
||||
void Emp(LinkList &L) // 判断链表L是否为空表
|
||||
{
|
||||
// if (//todo list)
|
||||
// 2.判断链表是否为空(头节点的next是否为NULL)
|
||||
if (L->next == NULL)
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ձ<EFBFBD><EFBFBD><EFBFBD>\n");
|
||||
printf("链表为空表。\n");
|
||||
else
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ǿձ<EFBFBD><EFBFBD><EFBFBD>\n");
|
||||
printf("链表为非空表。\n");
|
||||
}
|
||||
|
||||
void Length(LinkList L)
|
||||
{ // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>L<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD>
|
||||
LNode *p; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>p
|
||||
p = L->next; // pָ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><>Ԫ<EFBFBD><D4AA><EFBFBD>)
|
||||
{ // 求表长,返回L中数据元素个数
|
||||
LNode *p; // 申请临时变量p
|
||||
p = L->next; // p指向第一个结点(首元结点)
|
||||
int length = 0;
|
||||
// todo list //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ͳ<>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD>
|
||||
// 3.遍历链表统计节点数量
|
||||
while (p != NULL)
|
||||
{
|
||||
length++;
|
||||
p = p->next;
|
||||
}
|
||||
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>%d\n", length);
|
||||
printf("链表长度为:%d\n", length);
|
||||
}
|
||||
|
||||
// <EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>L<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD>
|
||||
void xianshi(LinkList &L)
|
||||
{
|
||||
LNode *p; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>p //LinkList p;
|
||||
p = L;
|
||||
while (p->next != NULL)
|
||||
{
|
||||
printf("%4d", p->next->data);
|
||||
p = p->next;
|
||||
}
|
||||
printf("\n"); // <20><><EFBFBD>ӻ<EFBFBD><D3BB>У<EFBFBD><D0A3><EFBFBD><EFBFBD>ڲ鿴
|
||||
}
|
||||
|
||||
// 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>L<EFBFBD>в<EFBFBD><D0B2><EFBFBD>n<EFBFBD><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD><D4A3><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>
|
||||
// 1、建立递增有序链表:向链表L中插入n个整数,插入时保持链表的有序性(从小到大)。
|
||||
void charu_1(LinkList &L, int n)
|
||||
{
|
||||
LNode *q, *p;
|
||||
for (int i = 1; i <= n; i++)
|
||||
{
|
||||
p = L; // <EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>pָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ڵ<EFBFBD>L
|
||||
q = (LinkList)malloc(sizeof(LNode)); // Ϊ<EFBFBD>µĽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ棬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>qָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%d<><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ", i);
|
||||
scanf("%d", &q->data); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>洢<EFBFBD><EFBFBD>qָ<EFBFBD><EFBFBD>Ľڵ<EFBFBD><EFBFBD>data<EFBFBD>ֶ<EFBFBD><EFBFBD><EFBFBD>
|
||||
q->next = NULL; // <EFBFBD><EFBFBD><EFBFBD>½ڵ<EFBFBD><EFBFBD>nextָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪNULL<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>½ڵ㵱ǰ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>κνڵ㡣
|
||||
p = L; // 在每次循环开始时,将p指向链表的头节点L
|
||||
q = (LinkList)malloc(sizeof(LNode)); // 为新的节点分配内存,并将q指向这块内存
|
||||
printf("请输入第%d个整数数的值", i);
|
||||
scanf("%d", &q->data); // 将输入的值存储在q指向的节点的data字段中
|
||||
q->next = NULL; // 将新节点的next指针设置为NULL,表示新节点当前不指向任何节点。
|
||||
|
||||
// <20><><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD>λ<EFBFBD><CEBB>
|
||||
if (p->next == NULL) // 如果链表为空,直接插入
|
||||
{
|
||||
// 4.空链表时直接插入新节点
|
||||
p->next = q;
|
||||
}
|
||||
else // 非空链表,查找插入位置
|
||||
{
|
||||
while (p->next != NULL && p->next->data < q->data)
|
||||
{
|
||||
p = p->next; // <20>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ڵ<EFBFBD>
|
||||
// 5.移动p指针找到插入位置
|
||||
p = p->next;
|
||||
}
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>½ڵ<EFBFBD>
|
||||
// 6.插入新节点
|
||||
q->next = p->next;
|
||||
p->next = q;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 2<EFBFBD><EFBFBD><EFBFBD>ֽ⣺<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>L<EFBFBD>е<EFBFBD>Ԫ<EFBFBD>ط<EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ż<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>M<EFBFBD><EFBFBD>N<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD>ǡ<EFBFBD>
|
||||
// 显示链表L的所有元素
|
||||
void xianshi(LinkList &L)
|
||||
{
|
||||
LNode *p; // 申请临时变量p
|
||||
p = L;
|
||||
// 7.判断链表是否为空
|
||||
if (p->next == NULL)
|
||||
{
|
||||
printf("链表为空");
|
||||
}
|
||||
while (p->next != NULL)
|
||||
{
|
||||
printf("%4d", p->next->data);
|
||||
p = p->next;
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
// 2、分解:将链表L中的元素分为奇数和偶数两个链表M和N,并分别显示它们。
|
||||
void fenbiao(LinkList &L, LinkList &M, LinkList &N)
|
||||
{
|
||||
LNode *j, *o, *p, *temp;
|
||||
p = L;
|
||||
while (p->next != NULL)
|
||||
{
|
||||
temp = p->next; // <20><><EFBFBD>浱ǰ<E6B5B1>ڵ<EFBFBD>
|
||||
p->next = temp->next; // <20><>ǰ<EFBFBD>ƶ<EFBFBD>p<EFBFBD><70>next<78><74><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD>
|
||||
// 8.移动p指针到下一个节点
|
||||
temp = p->next;
|
||||
p->next = temp->next; // 提前断开原链表连接,防止遍历混乱
|
||||
|
||||
if (temp->data % 2 == 0) // ż<EFBFBD><EFBFBD>Ԫ<EFBFBD>أ<EFBFBD>ǰ<EFBFBD>巨<EFBFBD><EFBFBD>M
|
||||
if (temp->data % 2 == 0) // 偶数元素,前插法插入偶数链表
|
||||
{
|
||||
o = (LinkList)malloc(sizeof(LNode));
|
||||
o->data = temp->data;
|
||||
o->next = M->next;
|
||||
M->next = o;
|
||||
o = temp;
|
||||
// 9.前插法插入偶数链表
|
||||
o->next = N->next;
|
||||
N->next = o;
|
||||
}
|
||||
else // <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD>أ<EFBFBD>ǰ<EFBFBD>巨<EFBFBD><EFBFBD>N
|
||||
else // 奇数元素,前插法插入奇数链表
|
||||
{
|
||||
j = (LinkList)malloc(sizeof(LNode));
|
||||
j->data = temp->data;
|
||||
j->next = N->next;
|
||||
N->next = j;
|
||||
j = temp;
|
||||
// 10.前插法插入奇数链表
|
||||
j->next = M->next;
|
||||
M->next = j;
|
||||
}
|
||||
free(temp); // <20>ͷ<EFBFBD>ԭ<EFBFBD>ڵ<EFBFBD><DAB5>ڴ<EFBFBD>
|
||||
}
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD>Ϊ:");
|
||||
xianshi(N); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD>N<EFBFBD><4E>
|
||||
printf("ż<EFBFBD><EFBFBD>Ϊ:");
|
||||
xianshi(M); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ż<EFBFBD><C5BC>Ӧ<EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD>M<EFBFBD><4D>
|
||||
printf("奇表为:");
|
||||
xianshi(M);
|
||||
printf("偶表为:");
|
||||
xianshi(N);
|
||||
}
|
||||
|
||||
// 3<EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>J<EFBFBD><EFBFBD>ż<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>O<EFBFBD>ϲ<EFBFBD>Ϊһ<EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>H<EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԡ<EFBFBD>
|
||||
// 3、合并一个递减链表:将奇数链表J和偶数链表O合并为一个新的链表H,合并时保持元素的有序性。
|
||||
void hebiao(LinkList &J, LinkList &O, LinkList &H)
|
||||
{
|
||||
LNode *p, *q, *t, *m;
|
||||
p = J->next; // ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD>ڵ<EFBFBD>
|
||||
q = O->next;
|
||||
m = H; // m<EFBFBD>൱<EFBFBD><EFBFBD>βָ<EFBFBD>룬<EFBFBD><EFBFBD>ʼָ<EFBFBD><EFBFBD>ͷ<EFBFBD>ڵ<EFBFBD>
|
||||
LNode *p, *q, *t;
|
||||
p = J->next; // 指向奇数链表第一个元素
|
||||
q = O->next; // 指向偶数链表第一个元素
|
||||
LNode *m = H; // 合并链表的尾指针
|
||||
|
||||
// <20><><EFBFBD>Hԭ<48><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
H->next = NULL;
|
||||
|
||||
while (p != NULL && q != NULL) // <20>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>ż<EFBFBD><C5BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><DDBD>
|
||||
while (p != NULL && q != NULL) // 奇和偶表都有数据结点
|
||||
{
|
||||
if (p->data > q->data) // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ż<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if (p->data > q->data) // 奇数大于偶数,取奇数
|
||||
{
|
||||
t = (LinkList)malloc(sizeof(LNode));
|
||||
t->data = p->data;
|
||||
t->next = NULL;
|
||||
m->next = t; // β<><CEB2>
|
||||
m = t; // <20><><EFBFBD><EFBFBD>βָ<CEB2><D6B8>
|
||||
p = p->next; // <20>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
||||
// 11.尾插法插入合并链表
|
||||
m->next = t;
|
||||
m = t;
|
||||
p = p->next; // 移动奇数链表指针
|
||||
}
|
||||
else // ȡż<EFBFBD><EFBFBD>
|
||||
else // 偶数大于等于奇数,取偶数
|
||||
{
|
||||
t = (LinkList)malloc(sizeof(LNode));
|
||||
t->data = q->data;
|
||||
t->next = NULL;
|
||||
m->next = t; // β<><CEB2>
|
||||
m = t; // <20><><EFBFBD><EFBFBD>βָ<CEB2><D6B8>
|
||||
q = q->next; // <20>ƶ<EFBFBD>ż<EFBFBD><C5BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>루<EFBFBD><EBA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD>p<EFBFBD><70>
|
||||
}
|
||||
}
|
||||
|
||||
// <20><><EFBFBD><EFBFBD>ʣ<EFBFBD><CAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>
|
||||
while (p != NULL)
|
||||
{
|
||||
t = (LinkList)malloc(sizeof(LNode));
|
||||
t->data = p->data;
|
||||
t->next = NULL;
|
||||
// 12.尾插法插入合并链表
|
||||
m->next = t;
|
||||
m = t;
|
||||
p = p->next;
|
||||
q = q->next; // 移动偶数链表指针
|
||||
}
|
||||
}
|
||||
|
||||
// <20><><EFBFBD><EFBFBD>ʣ<EFBFBD><CAA3><EFBFBD>ż<EFBFBD><C5BC><EFBFBD>ڵ<EFBFBD>
|
||||
if (p == NULL) // 奇数链表先遍历完成,处理剩余偶数
|
||||
{
|
||||
while (q != NULL)
|
||||
{
|
||||
t = (LinkList)malloc(sizeof(LNode));
|
||||
t->data = q->data;
|
||||
t->next = NULL;
|
||||
// 13.尾插剩余偶数节点
|
||||
m->next = t;
|
||||
m = t;
|
||||
q = q->next; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD>p
|
||||
q = q->next;
|
||||
}
|
||||
}
|
||||
|
||||
printf("<EFBFBD>Ӵ<EFBFBD>С<EFBFBD>ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>");
|
||||
xianshi(H); // <20><>ʾ<EFBFBD>ϱ<EFBFBD>H
|
||||
if (q == NULL) // 偶数链表先遍历完成,处理剩余奇数
|
||||
{
|
||||
while (p != NULL)
|
||||
{
|
||||
t = (LinkList)malloc(sizeof(LNode));
|
||||
t->data = p->data;
|
||||
t->next = NULL;
|
||||
// 14.尾插剩余奇数节点
|
||||
m->next = t;
|
||||
m = t;
|
||||
p = p->next;
|
||||
}
|
||||
}
|
||||
|
||||
printf("从大到小的单链表为:");
|
||||
xianshi(H); // 显示合表H
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊͷ<EFBFBD><EFBFBD>㣬<EFBFBD><EFBFBD>ͷָ<EFBFBD><EFBFBD>ֱ<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD>
|
||||
// 生成新结点作为头结点,用头指针分别指向各头结点
|
||||
LinkList head = (LinkList)malloc(sizeof(LNode));
|
||||
LinkList ji = (LinkList)malloc(sizeof(LNode));
|
||||
LinkList ou = (LinkList)malloc(sizeof(LNode));
|
||||
@@ -181,20 +196,20 @@ int main()
|
||||
|
||||
int choose = -1, n;
|
||||
printf("*********************************************\n");
|
||||
printf("********** ʵ<EFBFBD><EFBFBD>һ *******\n");
|
||||
printf("********** 实验一 *******\n");
|
||||
printf("*********************************************\n");
|
||||
printf("********** 1.<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *******\n");
|
||||
printf("********** 2.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *******\n");
|
||||
printf("********** 3.<EFBFBD>ֳ<EFBFBD><EFBFBD><EFBFBD>/ż<><C5BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *******\n");
|
||||
printf("********** 4.<EFBFBD>ϲ<EFBFBD><EFBFBD>ɵݼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *******\n");
|
||||
printf("********** 5.<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *******\n");
|
||||
printf("********** 6.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *******\n");
|
||||
printf("********** 7.<EFBFBD>жϵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>Ϊ<EFBFBD><EFBFBD> *******\n");
|
||||
printf("********** 0.<EFBFBD>˳<EFBFBD> *******\n");
|
||||
printf("********** 1.初始化单链表 *******\n");
|
||||
printf("********** 2.建立递增链表 *******\n");
|
||||
printf("********** 3.分成奇/偶两链表 *******\n");
|
||||
printf("********** 4.合并成递减单链表 *******\n");
|
||||
printf("********** 5.显示建立的(递增)单链表整体 *******\n");
|
||||
printf("********** 6.求单链表长度 *******\n");
|
||||
printf("********** 7.判断单链表是否为空 *******\n");
|
||||
printf("********** 0.退出 *******\n");
|
||||
printf("*********************************************\n");
|
||||
while (choose)
|
||||
{
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>\n");
|
||||
printf("请输入你的选择项:\n");
|
||||
scanf("%d", &choose);
|
||||
switch (choose)
|
||||
{
|
||||
@@ -202,12 +217,12 @@ int main()
|
||||
chushihua(head, ji, ou, he);
|
||||
break;
|
||||
case 2:
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n");
|
||||
printf("请输入你要插入正整数的个数:\n");
|
||||
scanf("%d", &n);
|
||||
charu_1(head, n);
|
||||
break;
|
||||
case 3:
|
||||
fenbiao(head, ou, ji);
|
||||
fenbiao(head, ji, ou);
|
||||
break;
|
||||
case 4:
|
||||
hebiao(ji, ou, he);
|
||||
@@ -226,4 +241,5 @@ int main()
|
||||
break;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user