#include <iostream>
#include <cstdio>
using namespace std;
typedef int Status;
typedef int Elem;
typedef struct LNode
{
Elem data;
struct LNode *next;
} LNode, *LinkList;
Status InitList(LinkList &L)
{
L = new LNode;
L->next = NULL;
return 1;
}
Status GetElemList(LinkList &L, int i, Elem &e)
{
LNode *p = L->next;
int j = 1;
while (p && j < i)
{
p = p->next;
++j;
}
if (!p || j > i)
return -1;
e = p->data;
return 1;
}
Status InsertList(LinkList &L, int i, Elem e)
{
LNode *p = L;
int j = 0;
while (p && j < i - 1)
{
p = p->next;
j++;
}
if (!p || j > i - 1)
return -1;
LNode *s = new LNode;
s->data = e;
s->next = p->next;
p->next = s;
return 1;
}
Status LenList(LinkList &L, Elem &e)
{
LNode *p = L->next;
int j = 0;
while (p)
{
p = p->next;
++j;
}
if (p)
return -1;
e = j;
return 1;
}
Status DelList(LinkList &L, int i)
{
LNode *p = L->next;
int j = 0;
while ((p->next) && (j < i - 1))
{
p = p->next;
++j;
}
if (!p->next || j > i - 1)
return -1;
LNode *q = p->next;
p->next = q->next;
delete q;
return 1;
}
Status SortList(LinkList &L)
{
LNode *p = L->next;
LNode *TmpNode;
int tmp = 0;
while (p)
{
TmpNode = p;
while (TmpNode)
{
if (p->data > TmpNode->data)
{
tmp = p->data;
p->data = TmpNode->data;
TmpNode->data = tmp;
}
TmpNode = TmpNode->next;
}
p = p->next;
}
return 1;
}
Status ShowList(LinkList &L)
{
LNode *p = L->next;
while (p)
{
cout << p->data << " ";
p = p->next;
}
return 1;
}
Status CreatList_H(LinkList &L, int num)
{
L = new LNode;
L->next = NULL;
for (int i = 0; i < num; i++)
{
LNode *p = new LNode;
cin >> p->data;
p->next = L->next;
L->next = p;
}
return 1;
}
Status CreatList_L(LinkList &L, int num)
{
L = new LNode;
L->next = NULL;
LNode *r = L;
for (int i = 0; i < num; i++)
{
LNode *p = new LNode;
cin >> p->data;
p->next = NULL;
r->next = p;
r = p;
}
return 1;
}
int main()
{
LinkList L;
InitList(L);
int num;
cin >> num;
CreatList_L(L, num);
int e;
GetElemList(L, 1, e);
cout << "Elem 1 " << e << " ";
int len;
LenList(L, len);
cout << "len:" << len << " ";
int len2;
SortList(L);
ShowList(L);
}
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】