?? josef.c
字號:
/* Loop Linklist with rear point */#define ELEMENT_TYPE int /* maybe need to change */#include <stdio.h>#include <stdlib.h>typedef struct { ELEMENT_TYPE number; ELEMENT_TYPE code;}type;typedef struct Linklist{ type data; struct Linklist *next;}Node,*Linklist;Linklist Creat_linklist(FILE *fd){ int i=0; Linklist rear; Node *new; ELEMENT_TYPE c; int flag = 1; /* have a flag which is initiate 1 and when input '$' change flag to 0 */ rear = (Linklist)malloc(sizeof(Node)); /* allocate memory to rear point */ rear -> next = rear; while (flag){ fscanf(fd,"%d",&c); if(c != 0){ i++; new = (Node *)malloc(sizeof(Node)); new -> data.code = c; new -> data.number=i; new -> next = rear -> next; rear -> next = new; rear = new; }/* if */ else flag=0; }/* while */ rear->next = rear -> next ->next; return rear;}Linklist Delete( ELEMENT_TYPE m,Linklist P){ Linklist r; type a; int n; n=1; while(n!=m){ n++; P = P->next; } r = P->next; P -> next = P -> next ->next; return r;}int main(){ Linklist rear,P,r; int m,n; int i; FILE *fd; type a; int code; fd = fopen("Josef.dat","r"); fscanf(fd,"%d",&m); fscanf(fd,"%d",&n); rear = Creat_linklist(fd); fclose(fd); i=0; P = rear; while(i!=n){ i++; r = Delete( m ,P); P = r; m = r->data.code; printf("%d\n",r->data.number); free(r); } }
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -