标签:
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<ctime> 
typedef struct node{
	int data;
	struct node *next;
}node;
typedef struct node *LinkList; 
int GetElem(LinkList L,int i,int *e){	//获取元素 
	int j;
	LinkList p;
	p = L->next;
	j = 1;
	while(p && j<i){
		p = p->next;
		++j;
	}
	if(!p||j>i) return 0;
	*e = p->data;
	return 1;
}
int ListInsert(LinkList *L,int i,int e){	//插入操作 
	int j;
	LinkList p,s;
	p = *L;
	j = 1;
	while(p && j<i){
		p = p->next;
		++j;
	}
	if(!p || j>i) return 0;
	s = (LinkList)malloc(sizeof(node));
	s->data = e;
	s->next = p->next;
	p->next = s;
	return 1;
}
int ListDelete(LinkList *L,int i,int *e){	//删除操作 
	int j;
	LinkList p,q;
	p = *L;
	j = 1;
	while(p->next && j<i){
		p = p->next;
		++j;
	}
	if(!(p->next)||j>i) return 0;
	q = p->next;
	p->next = q->next;
	*e = q->data;
	free(q);
	return 1; 
}
void CreateListHead(LinkList *L,int n){	//头插入法 
	LinkList p;
	int i;
	srand(time(0));
	*L = (LinkList)malloc(sizeof(node));
	(*L)->next = NULL;
	for(i=0;i<n;i++){
		p = (LinkList)malloc(sizeof(node));
		p->data = rand()%100+1;
		p->next = (*L)->next;
		(*L)->next = p;
	}
}
void CreateListTail(LinkList *L,int n){	//尾插入法 
	LinkList p,r;
	int i;
	*L = (LinkList)malloc(sizeof(node));
	r = *L;
	for(i=0;i<n;i++){
		p = (LinkList)malloc(sizeof(node));
		p->data = i+1;
		r->next = p;
		r = p;
	}
	r->next = NULL;
}
void ClearLisk(LinkList *L){
	LinkList p,q;
	p = (*L)->next;
	while(p){
		q = p->next;
		free(p);
		p = q;
	}
	(*L)->next = NULL;
}
int main(){
	return 0;
}
标签:
原文地址:http://www.cnblogs.com/zhuozhuo/p/5408650.html