字符串,单链表的反向实现

本文探讨了如何通过编程技巧实现字符串和链表的反向操作,详细介绍了反向字符串的算法步骤及应用实例,并进一步阐述了链表反向的原理与实践,展示了计算机科学中反向操作的实用性和灵活性。

//将一个字符串反向

void reverse_string(char *string)
{
    assert(string !=NULL);
    char *last_str;
    char temp;
    for(last_str =string; *last_str != '\0';last_str++)
        ;
    last_str--;
    while(string<last_str)
    {
        temp=*string;
        *string++=*last_str;
        *last_str-- = temp;
    }
}

char *str1 = "fsetc";
char *str = new char[6];
strcpy(str, str1);
printf("%s\n", str);
reverse_string(str);
printf("%s\n", str);

//链表反向

struct   link_elm
{ 
    void*   pdata; 
    struct   link_elm*   next; 
}; 
typedef   link_elm*   link; 

link   reverse(link   p) 
{ 
    link   ret=NULL; 
    link   tmp; 
    while(P) 
    { 
        tmp=p; 
        p=p-> next; 
        tmp-> next=ret; 
        ret=tmp; 
    }   

    return   ret; 
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值