刪除元素值最大的結點

設計一個算法,刪除一個單鏈表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;
}

這是個木得意思的答案,就只是數組的應用,啊啊啊啊,愚蠢的人類爲什麼要用麻煩的方法做題目。
等我回來添加鏈表

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章