作业2

#include <bits/stdc++.h>

using namespace std;

typedef char ElemType;

typedef struct LNode{
	ElemType data;
	struct LNode * next;
}LinkNode;

void CreatorListR(LinkNode *& L, ElemType a[], int n){
	LinkNode *s, *r;
	L = (LinkNode * ) malloc (sizeof (LinkNode));
	r = L;
	for(int i = 0; i < n; ++i){
		s = (LinkNode * ) malloc (sizeof (LinkNode));
		s -> data = a[i];
		r -> next = s;
		r = s;
	}
	r -> next = NULL;
}

void InitList(LinkNode *& L){
	L = (LinkNode * ) malloc (sizeof (LinkNode));
	L -> next = NULL;
}

void DestoryList(LinkNode *& L){
	LinkNode *pre = L, *p = L -> next;
	while(p != NULL){
		free(pre);
		pre = p;
		p = pre->next;
	}
	free(pre);
}

bool ListEmpty(LinkNode *L){
	return (L -> next == NULL);
}

int GetLength(LinkNode *L){
	int n = 0;
	LinkNode *p = L;
	while(p -> next != NULL){
		n ++;
		p = p -> next;
	}
	return n;
}

void PrintList(LinkNode *L){
	LinkNode *p = L -> next;
	while(p != NULL){
		cout << p -> data << " ";
		p = p -> next;
	}
	puts("");
}

bool GetElem(LinkNode *L, int i, ElemType &e){
	int j = 0;
	LinkNode *p = L;
	if(l <= 0) return false;
	while(j < i && p != NULL){
		j ++;
		p = p -> next;
	}
	if(p == NULL) return false;
	else {
		e = p -> data;
		return true;
	}
}

int SearchElem(LinkNode *L, ElemType e){
	int i = 1; 
	LinkNode *p = L -> next;
	while( p != NULL && p -> data != e){
		p = p -> next;
		i ++;
	}
	if(p == NULL) return 0;
	else return i;
}

bool InsertElem(LinkNode *& L, int i, ElemType x){
	int j = 0;
	LinkNode *p = L, *s;
	if(i <= 0) return false;
	while(j < i - 1 && p != NULL){
		j ++;
		p = p -> next;
	}
	if(p == NULL) return false;
	else {
		s = (LinkNode  * )malloc (sizeof(LinkNode));
		s -> data = e;
		s -> next = p -> next;
		
	}
}

int main(){
	
	return 0;
}
posted @ 2020-11-20 17:28  Diaphanous  阅读(75)  评论(0)    收藏  举报