蔚蔚蔚_蓝天 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 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题