데이터 구조 학습 의 길 (2) 단일 체인 표 의 간단 한 실현
                                            
 2889 단어  데이터 구조 학습
                    
저 는 mac 시스템 에서 디 버 깅 하 는 코드 입 니 다. include 가 필요 한 가방 은 다른 시스템 과 약간 다 를 수 있 습 니 다.
# include 
# include 
typedef struct MyNode{
	int data;
	struct MyNode * pNext;
}*PNODE, NODE;
PNODE create_list(void);
void showList(PNODE);
bool isEmpty(PNODE);
int length(PNODE);
bool insert(PNODE, int, int);
bool delete_list(PNODE, int, int *);
void sort(PNODE);
int main(void)
{
	PNODE pHead = create_list();
	showList(pHead);
	if (isEmpty(pHead))
		printf("%s
", "    !");
	else
		printf("%s
", "     !");
	sort(pHead);
	showList(pHead);
	insert(pHead, 5, 100);
	showList(pHead);
	int val;
	delete_list(pHead, 5, &val);
	showList(pHead);
	printf("%d
", val);
	return 0;
}
PNODE create_list(void){
	int len;
	int i;
	int val;
	printf("%s ", "               :");
	scanf("%d", &len);
	PNODE pHead = (PNODE)malloc(sizeof(NODE));
	if(pHead==NULL){
		printf("%s
", "      !");
		exit(-1);
	}
	PNODE pTail = pHead;
	pTail->pNext = NULL;
	for(i=0; ipNext = pNew;
		pNew->data = val;
		pNew->pNext = NULL;
		pTail=pNew;
	}
	
	return pHead;
}
void showList(PNODE pHead){
	PNODE p = pHead->pNext;
	while (p!=NULL){
		printf("%d  ", p->data);
		p = p->pNext;
	}
	printf("
");
}
bool isEmpty(PNODE pHead){
	if (pHead->pNext==NULL)
		return true;
	return false;
}
int length(PNODE pHead){
	int len = 0;
	PNODE p = pHead->pNext;
	while(p!=NULL){
		p = p->pNext;
		len++;
	}
	return len;
}
bool insert(PNODE pHead, int index, int val){
	PNODE p = pHead;
	int i=0;
	while(ipNext;
		i++;
	}
	if (p==NULL)
		return false;
	PNODE pNew = (PNODE)malloc(sizeof(NODE));
	if (pNew==NULL){
		printf("%s
", "        !");
		exit(-1);
	}
	pNew->data = val;
	pNew->pNext=p->pNext;
	p->pNext = pNew;
	return true;
}
/**/
bool delete_list(PNODE pHead, int index, int * val){
	PNODE p = pHead;
	int i = 0;
	while(ipNext;
		i++;
	}
	if (p==NULL)
		return false;
	PNODE q = p->pNext;
	*val = q->data;
	p->pNext = q->pNext;
	free(q);
	return true;
}
void sort(PNODE pHead){
	PNODE p, q;
	for(p = pHead->pNext; p->pNext != NULL; p=p->pNext){
		for(q=p->pNext; q != NULL; q=q->pNext){
			if (p->data > q->data){
				p->data = p->data + q->data;
				q->data = p->data - q->data;
				p->data = p->data - q->data;
			}
		}
	}
}     email: [email protected]
저작권 성명: 블 로그 작성 이 쉽 지 않 습 니 다. 전재 할 때 출처 를 밝 혀 주 십시오. 대단히 감사합니다!
https://blog.csdn.net/zyy_2018/article/details/79733562
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
FHQ_Treap 트 리 (회전 없 는 Treap 트 리) 템 플 릿 방향이 나 무 는 회전 조작 이 필요 없 는 Treap 나무 로 FHQ (범 호 강) 사내 가 발명 하여 신 급 데이터 구조 라 고 할 수 있 습 니 다!그 는 짧 고 간결 하 며 배우 기 쉬 우 며, 그 사상의 우아 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.