算法楚昭。?
字符串反轉(zhuǎn):
void char_reverse(char *cha)
{
? ? char*begin = cha;
? ? char*end =strlen(cha)-1+ cha;
? ? while(begin < end) {
? ? ? ? chartemp = *begin;
? ? ? ? *(begin++) = *end;
? ? ? ? *(end--) = temp;
? ? }
}
鏈表反轉(zhuǎn) ?頭插法
structNode*reverselist(structNode*head)
{
? ? structNode*p = head;
? ? structNode*newH =NULL;
? ? while(p !=NULL) {
? ? ? ? structNode*temp = p->next;
? ? ? ? p->next= newH;
? ? ? ? newH = p;
? ? ? ? p = temp;
? ? }
? ? returnnewH;
}
struct Node *constructList(void)
{
? ? structNode*head =NULL;
? ? structNode*cur =NULL;
? ? for(inti=1; i<5; i++) {
? ? ? ? structNode*node =malloc(sizeof(structNode));
? ? ? ? node->data= i;
? ? ? ? if(head ==NULL) {
? ? ? ? ? ? head = node;
? ? ? ? }else{
? ? ? ? ? ? cur->next= node;
? ? ? ? }
? ? ? ? cur = node;
? ? }
? ? returnhead;
}
voidprintList(structNode*head)
{
? ? structNode*temp = head;
? ? while(temp !=NULL) {
? ? ? ? printf("%d \n",temp->data);
? ? ? ? temp = temp->next;
? ? }
}