Ò»¡¢ ÐèÇó·ÖÎö
Éè¼ÆÒ»¸öʵÏÖÈÎÒⳤµÄÕûÊý¼ä½øÐÐËÄÔòÔËËãµÄ³ÌÐò£¬ÒªÇóÍê³É³¤ÕûÊýµÄ¼Ó¡¢¼õÔËË㣬³Ë³ýÔËËã¿ÉÑ¡×ö¡£ÔÚÕâÀﳤÕûÊýûÓз¶Î§ÏÞÖÆ£¬¿ÉÈÎÒⳤ¡£ÔËËãºóµÄ½øÎ»¡¢½èλµÈ¶¼Òª½øÐÐÕýÈ·´¦Àí£¬¿ÉʵÏÖ¶¯Ì¬µÄÊäÈ룬ʵʱµÄÊä³ö¡£
²âÊÔÊý¾Ý£º0¡¢0£» Êä³ö¡°0¡±
2345£¬6789¡¢-7654£¬3211£» Êä³ö¡°1£¬0000£¬0000¡± 1£¬0000£¬0000£¬0000¡¢9999£¬9999£» Êä³ö¡°9999£¬0000£¬0001¡± 1£¬0001£¬0001¡¢£»1£¬0001£¬0001£» Êä³ö¡°0¡± ×ÔÑ¡Êý¾Ý£º1£¬1111£»1£¬1111 Êä³ö¡°0¡±
¶þ¡¢ ¸ÅÒªÉè¼Æ
1¡¢ Êý¾Ý½á¹¹
ÀûÓÃË«ÏòÑ»·Á´±íÀ´ÊµÏÖ¶Ô³¤ÕûÊýµÄ´æ´¢¡£
Ñ¡Ôñ¸ÃÊý¾Ý½á¹¹À´Íê³É³¤ÕûÊýµÄ¼Ó¼õÔËËãÊÇÒòΪ a. Òª¶Ô³¤ÕûÊý½øÐÐÔËË㣬ÐèÒª¶Ô³¤ÕûÊý½øÐд洢£¬Ñ¡ÔñÓÃÁ´±í¶Ô³¤ÕûÊý´æ´¢¡£ b. ´æ´¢µÄ˳ÐòÊÇ´Ó×óµ½ÓÒ£¬ÔËËãµÄ˳ÐòÔòÊÇ´ÓÓÒµ½×ó£¬Îª²Ù×÷·½±ãÑ¡ÔñÑ»·Á´±í¡£
c. ÔÚÔËËã¹ý³ÌÖÐÓнøÎ»ºÍ½èλµÄ²Ù×÷¡£
2¡¢ ʹÓÃËã·¨
¶¨ÒåË«ÏòÑ»·Á´±í£¬´æ´¢Êý¾Ý£¬½øÐмÆËã¡££¨Ä¬ÈϽϳ¤µÄÊý×÷Ϊ±»¼ÓÊý¡¢±»
¼õÊý£©
Èý¡¢ ÏêϸÉè¼Æ
typedef struct DoubleNode //¶¨ÒåÁ´±íÔªËØ
void InitNode(DLNode **head) //³õʼ»¯Á´±í
int InsertNode(DLNode *head,int n,DataType x) //ÏòÁ´±íµÚN¸öλÖòåÈëÔªËØX
int digit(int n) //ÅжÏÕûÊýNÓм¸Î»
void PrintNode(DLNode *head) //´òÓ¡Á´±í void DestroyNode(DLNode **head)//Ïú»ÙÁ´±í void add(DLNode *h1,DLNode *h2) //Á½ÊýÏà¼Ó void jian(DLNode *h1,DLNode *h2) //Á½ÊýÏà¼õ int main() //Èë¿Úº¯Êý
ËÄ¡¢ µ÷ÊÔ·ÖÎö
ÓÉÓÚÔÚ³ÌÐòÉè¼ÆÊ±£¬¶ÔÓÚÖ¸ÕëµÄ²»Á˽⣬±à³ÌʱʹÓÃË«ÖØÖ¸Õ룬ÎÞÐÎÖиø×Ô¼º
ÔöÌíÁ˸ü¶àÂé·³¡£ÀÏʦÔÚ¼ì²éµÄ¹ý³ÌÖÐÖ¸³ö²¢½Ìµ¼ÁËÕâÒ»µã¡£
Îå¡¢ ²âÊÔ½á¹û
1¡¢
ÊäÈë0ºÍ0×ö¼Ó·¨ÔËË㣬Êä³ö¡°0¡±£¬½á¹ûÈçÏÂͼ£º
2¡¢
ÊäÈë2345£¬6789ºÍ-7654£¬3211×ö¼õ·¨ÔËË㣬Êä³ö¡°1£¬0000£¬0000¡±£¬½á¹ûÈçÏÂͼ£º
3¡¢
ÊäÈë1£¬0000£¬0000£¬0000ºÍ9999£¬9999×ö¼õ·¨ÔËË㣬Êä³ö¡°9999£¬0000£¬0001¡±£¬½á¹ûÈçÏÂͼ£º
4¡¢
ÊäÈë1£¬0001£¬0001ºÍ1£¬0001£¬0001×ö¼õ·¨ÔËË㣬Êä³ö¡°0¡±£¬½á¹ûÈçÏÂͼ£º
5¡¢
ÊäÈë1£¬1111ºÍ1£¬1111×ö¼õ·¨ÔËË㣬Êä³ö¡°0¡±½á¹ûÈçÏÂͼ£º
Áù¡¢ ÐĵÃÌå»á
±¾´ÎʵÑéÖ÷ÒªÊÇÕë¶ÔË«ÏòÁ´±íµÄÁ·Ï°£¬Í¨¹ýÕâ´ÎÊÔÑéÎÒÃÇ´ó¼Ò¶ÔÓÚË«ÏòÑ»·Á´±íÓÐÁ˸üÉî¿ÌµÄ¼ÇÒä¡£ÁíÔÚ½²½âµÄ¹ý³ÌÖУ¬ÀÏʦָ³öÁËÎÒÃÇÔÚ±à³ÌÖдæÔڵIJ»×ãµã£¬ÎÒÃǶÔÓÚÖ¸Õë¸úË«ÖØÖ¸ÕëÓÐÁ˸üÇåÎúµÄÈÏʶ¡£ÔÚÓëͬѧµÄ½»Á÷ÖУ¬Ò²¸üÇå³þµÄÈÏÇåÁË ×Ô¼ºµÄ²»×㣬ÒÔºó»á¸ü¼ÓŬÁ¦µÄ¡£
Æß¡¢ ¸½Â¼
#include
#define N 100
typedef int DataType;
typedef struct DoubleNode //¶¨ÒåÁ´±íÔªËØ { DataType data;
struct DoubleNode *prior;
struct DoubleNode *next; }DLNode;
void InitNode(DLNode **head) //³õʼ»¯Á´±í {
if((*head=(DLNode*)malloc(sizeof(DLNode)))==NULL) exit(1);
(*head)->prior=*head; (*head)->next=*head; }
int InsertNode(DLNode *head,int n,DataType x) //ÏòÁ´±íµÚN¸öλÖòåÈëÔªËØX { DLNode *p,*nt; int i=0;
p=head->next;
while(p!=head&&i p=p->next; i++; } if(i!=n) { printf(\²åÈëλÖôíÎó\\n\ return 0; } if((nt=(DLNode *)malloc(sizeof(DLNode)))==NULL) exit(1); nt->data=x; nt->prior=p->prior; nt->prior->next=nt; nt->next=p; p->prior=nt; return 1; } int digit(int n) //ÅжÏÕûÊýNÓм¸Î» { int i; for(i=1;;n/=10,i++) { if(n/10==0) return i; } } void PrintNode(DLNode *head) //´òÓ¡Á´±í { DLNode *p=head->next; int i; while(p->data==0) //È¥µôÇ°ÃæµÄÒ»´®0 { p=p->next; if(p==head) { printf(\ return; } } printf(\×îÇ°ÃæµÄÒ»¸öÊý½øÐÐÌØÊâ´¦Àí,²»Óò¹Áã p=p->next; while(p!=head) //´òÓ¡ºóÃæµÄÊý×Ö { printf(\ if(p->data==0) { printf(\ p=p->next; continue; } for(i=0;i<4-digit(p->data);i++) //²¹Áã printf(\ printf(\ p=p->next; } printf(\ } void DestroyNode(DLNode **head) { DLNode *p,*p1; p=(*head)->next; while(p!=*head) { p1=p; p=p->next; free(p1); } free(p); head=NULL; } void add(DLNode *h1,DLNode *h2) //Á½ÊýÏà¼Ó { DLNode *p1=h1->prior,*p2=h2->prior; while(p1!=h1&&p2!=h2) //ÿ¸öÁ´±íÔªËØÏà¼Ó { p1->data+=p2->data ; p1=p1->prior; p2=p2->prior; } p1=h1->prior; while(p1!=h1->next) //´¦ÀíÁ´±íÔªËØ { if(p1->data>=10000) { p1->prior->data+=p1->data/10000; p1->data%=10000; } if(p1->data<0) //´¦Àí¸ºÊý