設計一個算法,刪除一個單鏈表L中元素值最大的結點(假設最大值結點是唯一的)。
#include "pch.h"
#include <stdio.h>
#include <stdio.h>
#define MAXSIZE 100
typedef int ElemType;
int a[100];
typedef struct {
ElemType data[MAXSIZE];
int last;
}LinkList;
void InitList(LinkList *L) {
L->last = 0;
}
void CreateList(LinkList *L, int n) {
int i;
for (i = 0; i < n; i++)
L->data[i] = a[i];
L->last = n;
}
void Delete(LinkList *L)
{
int t;
LinkList p, q;
p = *L;
for (int i = 0; i < L->last-2; i++)
{
if (L->data[i] > L->data[i+1])
{
t = L->data[i];
L->data[i] = L->data[i + 1];
L->data[i + 1] = t;
}
}
}
void Print(LinkList *L) {
int i;
//printf("%d\n",L->last);
for (i = 0; i < L->last - 2; i++)
printf("%d ", L->data[i]);
printf("%d", L->data[L->last - 2]);
}
int main() {
LinkList L;
int n, i;
scanf_s("%d", &n);
for (i = 0; i < n; i++)
scanf_s("%d", &a[i]);
InitList(&L);
CreateList(&L, n);
Print(&L);
return 0;
}
這是個木得意思的答案,就只是數組的應用,啊啊啊啊,愚蠢的人類爲什麼要用麻煩的方法做題目。
等我回來添加鏈表