大的撒旦


私信TA

用户名:uq_19484183344

访问量:412

签 名:

等  级
排  名 6502
经  验 1411
参赛次数 0
文章发表 3
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

#define _CRT_SECURE_NO_WARNINGS

#include <iostream>

#include <stdio.h>

//#include <cmath>

//#include <algorithm>

//#include <vector>

#include <stdlib.h>

//#include <string.h>

using namespace std;

typedef int ElemType;


typedef struct LNode

{

ElemType data;

struct LNode* next;

}LNode, * LinkList;


bool GetElem(LinkList &L,int i,ElemType &e)

{

LinkList p;

p = L->next;//0 1 2

int j = 1;

while (p&&j<i)

{

p = p->next;

++j;

}

if (!p||j>i)

{

return -1;

}

e = p->data;

return 1;

};

bool ListInsert(LinkList& L, int i, ElemType e)

{

LinkList p, s; int k = 0;

p = L;

int j = 0;

while (p&&j<i-1)

{

p = p->next;

++j;

}

if(!p || i>j+1 )

{

return k;

}

s = (LinkList)malloc(sizeof(LNode));

s->data = e;

s->next = p->next;

p->next = s;

return 1;

}

bool ListDelete_L(LinkList& L, int i, ElemType&e)

{

LinkList p, q, x; int k=0;

x = L->next;

if (!x)

{

return k;

}

p = L;

int j = 0;

while (p->next&&j<i-1)

{

p = p->next;

++j;

}

if (!(p->next)||j>i-1)

{

return -1;

}

q = p->next;

p->next = q->next;

e = q->data;

free(q);

return 1;

}

void CreateList_L(LinkList& L, int n)

{

LinkList p;

int i;

L = (LinkList)malloc(sizeof(LNode));

L->next = NULL;

for (int i=0;i<n;i++)

{

p = (LinkList)malloc(sizeof(LNode));

scanf("%d", &p->data);

p->next = L->next;

L->next = p;

}

}

void Show_L(LinkList&L)

{

LinkList p;

p = L->next;

if (!p)

{

printf("Link list is empty");

}

while (p)

{

printf("%d ", p->data);

p = p->next;

}

}

int main()

{

int a, b, e;

LinkList L;

cin >> a;

CreateList_L(L, a);

char str1[7] = "show";

char str2[7] = "delete";

char str3[7] = "insert";

char str4[7] = "get";

char str[7];

cin >> b;



for (int i=0;i<b;i++)

{

cin >> str;

if (strcmp(str,str1)==0)

{

//printf("%s..", str);

Show_L(L);

printf("\n");

}

else if(strcmp(str, str2)==0)

{

int a;

cin >> a;

int k=ListDelete_L(L, a, e);

if (k)

{

printf("delete OK\n");

}

else

{

printf("delete fail\n");

}

}

else if (strcmp(str, str3) == 0)

{

int a;

cin >> a>>e;

int k = ListInsert(L, a, e);

if (k)

{

printf("insert OK\n");

}

else

{

printf("insert fail\n");

}

}

else if(strcmp(str, str4) == 0)

{

int a = 0; cin >> a;

int k = GetElem (L, a, e);

if (k)

{

printf("%d\n",e);

}

else

{

printf("get fail\n");

}

}

else

{

printf("..error..");

}


}

return 0;

}


 

0.0分

0 人评分

  评论区

  • «
  • »