蔚蔚蔚_蓝天 2015-10-12 13:20 采纳率: 0%
浏览 1675

新手对于数据结构的疑问

楼主现在学的是严蔚敏著的C语言版的数据结构这本书。但是感觉上手很难,非常想学好数据结构,有没有前辈指点一下这门数据结构该怎么学好,该怎么入门。。(求详细进阶之路)

  • 写回答

7条回答 默认 最新

  • 时倾401 2022-04-25 16:01
    关注

    #include
    using namespace std;
    template
    struct Node
    {
    T data;
    Node *next;
    };
    template
    class LinkSortList
    {
    public:
    LinkSortList( ); //建立只有头结点的空链表
    LinkSortList(); //析构函数
    void Insert(T x); //在有序单链表中插入元素x使序列仍有序
    int Length(); //求表长
    int DeleteOdd(); //在单链表中删除所有奇数,返回值为奇数个数
    void DispList( ); //遍历有序单链表,按序号依次输出各元素
    private:
    Node *first; //单链表的头指针
    };
    template
    LinkSortList::LinkSortList()
    {
    first=new Node;
    first->next=NULL;
    }
    template
    LinkSortList::
    LinkSortList()
    {
    Node *p;
    for( ; first!=NULL; )
    { p=first;
    first=first->next;
    delete p;
    }
    }
    template
    void LinkSortList::Insert(T x)
    {
    Node *p,*s;
    s=new Node;
    s->data=x;
    for( p=first ; p->next!=NULL&& s->data > p->next->data ; p=p->next );
    s->next=p->next;
    p->next=s;
    }
    template
    int LinkSortList::Length()
    {
    Node *p;
    int i;
    for(p=first->next ,i=0; p!=NULL ; p=p->next ,i++);
    return i;
    }
    template
    int LinkSortList::DeleteOdd()
    {
    int i=0;
    Node *p,*s;
    for(p=first ; p->next!=NULL ; )
    if(p->next->data%2==1) {
    s=p->next;
    p->next=p->next->next;
    i++;
    delete s;
    }
    else p=p->next;
    return i;
    }
    template
    void LinkSortList::DispList()
    {
    cout<<"The length:"<<Length()<<endl;
    cout<<"The elements:";
    Node *p;
    for(p=first->next; p!=NULL ; p=p->next)
    cout<data<<" ";
    cout<<endl;
    }
    int main( ){
    LinkSortList sa;
    int x;
    while(1)
    {
    cin>>x;
    if(!x)break;
    sa.Insert(x);
    }
    sa.DispList();//while(1);
    //cout<<"A"<<endl;
    int count=sa.DeleteOdd();
    cout<<"Count of deleted odds:"<<count<<endl;

    sa.DispList();
    return 0;
    }

    评论

报告相同问题?

悬赏问题

  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程