데이터 구조 C 언어 가 순환 단일 체인 표 의 인 스 턴 스 를 실현 합 니 다.

데이터 구조 C 언어 가 순환 단일 체인 표 의 인 스 턴 스 를 실현 합 니 다.
인 스 턴 스 코드:

//=========  ========================// 
//         
#include <stdio.h> 
#include <stdlib.h> 
  
typedef int ElemType; 
//        
typedef struct Node 
{ 
  ElemType data;         
  struct Node *next;       
}Node,*LinkedList; 
int count = 0; 
 
 
//1、          
LinkedList init_circular_linkedlist() 
{ 
  Node *L; 
  L = (Node *)malloc(sizeof(Node));  
  if(L == NULL)             
    printf("        
"); L->next = L; } //2、 LinkedList creat_circular_linkedlist() { Node *L; L = (Node *)malloc(sizeof(Node)); L->next = L; Node *r; r = L; ElemType x; while(scanf("%d",&x)) { if(x == 0) break; count++; Node *p; p = (Node *)malloc(sizeof(Node)); p->data = x; r->next = p; r = p; } r->next = L; return L; } //4、 , i x LinkedList insert_circuler_linkedlist(LinkedList L,int i,ElemType x) { Node *pre; pre = L; int tempi = 0; for (tempi = 1; tempi < i; tempi++) pre = pre->next; Node *p; p = (Node *)malloc(sizeof(Node)); p->data = x; p->next = pre->next; pre->next = p; return L; } //5、 , x LinkedList delete_circular_linkedlist(LinkedList L,ElemType x) { Node *p,*pre; p = L->next; while(p->data != x) { pre = p; p = p->next; } pre->next = p->next; free(p); return L; } int main() { int i; LinkedList list, start; printf(" , 0 !
"); list = creat_circular_linkedlist(); printf(" :
"); for(start = list->next; start != NULL; start = start->next) { if(count== 0) { break; } printf("%d ", start->data); count--; } printf("
"); return 0; }
그림:

읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기