ÄÚÈÝ·¢²¼¸üÐÂʱ¼ä : 2025/11/13 8:47:36ÐÇÆÚÒ» ÏÂÃæÊÇÎÄÕµÄÈ«²¿ÄÚÈÝÇëÈÏÕæÔĶÁ¡£
ʵÏÖ´úÂëÈçÏ£º
APtr del(APtr headPtr) {
APtr p1; APtr p2; int n,i; char date[12];
if(headPtr==NULL) { printf(\ return (headPtr); } printf(\Ñ¡Ôñɾ³ý·½Ê½£¬ÊäÈëÐòºÅ£º\\n\ printf(\°´ÐòºÅɾ³ýÒ»Ìõ¼Ç¼\\n\ \°´Ê±¼äɾ³ýÒ»Ìõ¼Ç¼\\n\ \ɾ³ýÈ«²¿¼Ç¼\\n\ scanf(\ if(i==1) { printf(\ÊäÈëҪɾ³ýµÄ¼Ç¼ÐòºÅ£º\ scanf(\ p1=headPtr;
while(p1->num!=n&&p1->next!=NULL) {
11
p2=p1; p1=p1->next; }
if(p1->num==n) //p1µÄnumµÈÓÚn {
if(p1==headPtr) { headPtr=headPtr->next; }
else { p2->next=p1->next; }
free(p1); printf(\ɾ³ý³É¹¦\\n\ } else
printf(\¼Ç¼²»´æÔÚ£¬ÐòºÅ´íÎó\\n\ }
else if(i==2) { printf(\ÊäÈëҪɾ³ý¼Ç¼µÄÈÕÆÚ£º\ scanf(\ p1=headPtr;
while(strcmp(date,p1->date)!=0&& p1->next!=NULL) { p2=p1; p1=p1->next; } if(strcmp(date,p1->date)==0) { if(p1==headPtr) { headPtr=headPtr->next; } else { p2->next=p1->next; } free(p1); printf(\ɾ³ý³É¹¦\\n\ }
12
else printf(\¼Ç¼²»´æÔÚ\\n\ } else if(i==3) {
while(headPtr!=NULL) {
p1=headPtr; headPtr=headPtr->next; free(p1); } printf(\ɾ³ý³É¹¦\\n\ }
return(headPtr); }
£´£®Õ˵¥²éÕÒ
ʵÏÖ´úÂëÈçÏ£º /*4.°´num²éѯ*/
APtr num_search(APtr headPtr,int num) {
APtr cPtr;
printf(\ \ if (headPtr->num==num) printf(\
headPtr->date,headPtr->in_out,headPtr->amount,headPtr->kind,headPtr->remain); else {
cPtr=headPtr;
13
while (cPtr!=NULL&&cPtr->num!=num) {
cPtr=cPtr->next; }
if (cPtr!=NULL) {
printf(\ cPtr->date,cPtr->in_out,cPtr->amount,cPtr->kind,cPtr->remain); return cPtr; } else printf(\¸ÃÌõ¼Ç¼²»´æÔÚ\\n\ } return cPtr; }
/*5.°´date²éѯ*/
void date_search(APtr headPtr,char date[]) {
APtr cPtr;
int m=0;
printf(\ \ cPtr=headPtr;
while(cPtr!=NULL) { if (strcmp(cPtr->date,date)==0) { printf(\ cPtr->date,cPtr->in_out,cPtr->amount,cPtr->kind,cPtr->remain); m=m+1; }
cPtr=cPtr->next; } if(m==0) { printf(\¸ÃÌõ¼Ç¼²»´æÔÚ\\n\ } }
£µ£®Õ˵¥ÅÅÐòä¯ÀÀ
14
ʵÏÖ´úÂëÈçÏ£º
void date_sort(APtr *sPtr) {
APtr pPtr=NULL,cPtr=NULL,t1Ptr=NULL,t2Ptr=NULL; int i,j;
for (i=0;i pPtr=*sPtr; cPtr=(*sPtr)->next; for (j=0;j if (strcmp(pPtr->date,cPtr->date)>0&&pPtr==*sPtr) { pPtr->next=cPtr->next; cPtr->next=pPtr; t1Ptr=pPtr; pPtr=cPtr; cPtr=t1Ptr; *sPtr=pPtr; } else { if (strcmp(pPtr->date,cPtr->date)>0) { t1Ptr->next=cPtr; cPtr->next=pPtr; pPtr->next=t2Ptr; t1Ptr=pPtr; pPtr=cPtr; cPtr=t1Ptr; } } if (cPtr->next!=NULL) { t1Ptr=pPtr; pPtr=cPtr; cPtr=cPtr->next; t2Ptr=cPtr->next; 15