鱼C论坛

 找回密码
 立即注册
查看: 2515|回复: 12

有關 double linked list 的題目求助

[复制链接]
发表于 2022-11-1 22:31:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
小弟我這堂課上周才寫完 leetcode 24,他這週出了這個題目我實在無法解出來,我目前只能夠只用指標去做 linked list 或 stack 之類的基礎,一瞬間要炸這種擴充太多的實在沒想法,想求助各位大佬幫幫忙QQ,感恩!

請使用Linked List資料結構設計一個小型的facebook功能(TinyFB):
以下為使用者可以操作的功能:
1. 若使用者沒有帳號,可讓使用者建立新帳號,由使用者輸入帳號、密碼
2. 若使用者有帳號,可直接輸入帳號、密碼登入系統
3. 使用者登入系統後,可以操作以下功能:   
        3.1 好友管理
                3.1.1 建立好友: 由使用者輸入好友帳號, 若存在該帳號, 則建立雙方互為好友
                3.1.2 刪除好友: 由使用者刪除某特定好友, 刪除後, 雙方即不是好友.   
        3.2 發文管理
                3.2.1 由使用者發表一段文字說明, 建立發文內容
                3.2.2 刪除發文: 刪除目前使用者之前所發表的特定文章.
                3.2.3 列出目前這個使用者的所有發文.   
        3.3 按讚:
                3.3.1 指定特定好友(也可以是自己的帳號), 列出該好友的發文清單(依照發文順序列出)
                3.3.2 針對3.3.1的特定文章按讚.
                3.3.3 取消針對特定好友特定文章的按讚
                3.3.4 列出所有對該特定好友的特定文章按讚的好友清單. (雙方若已經不是好友, 請刪除該按讚)
Hint: Singly linked list有一個link為next, Doubly linked list有2個Link, 分別為next, prev.我們可定義多個資料結構, 例如(以下僅為示範, 同學可以依照自己的想法去設計)      
1. User. 裡面有多個Link, 包括next, prev, friend, article等.      2. Article. 裡面有文章、next, prev, 按讚的朋友姓名清單.      3. 其他(如果您認為需要第三個以上的結構來協助您開發此題目的功能)

一瞬間擴充太多啦QQ 我還只是剛入門的小新手而已,太炸裂了
再次感謝各位!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-11-2 19:26:29 | 显示全部楼层
本帖最后由 jhq999 于 2022-11-2 19:45 编辑

我出个结构体
typedef struct FRIENDNODE
{

    int id;
    char name[32];
    char pw[32];
    struct FRIENDS
    {
            struct FRIENDNODE * frind;
            struct FRIENDS friendnext;
    };
    struct FRIENDS * friends;
    struct USERTEXT
    {
        int txtid;
        char title[64];
        char *txtdata;
        struct DING
        {
            struct FRIENDNODE * dingfriend;
            struct DING* dingnext;
        };
        struct DING *ding;
        struct USERTEXT* txtnext;
    } ;
    struct USERTEXT* txts;
    struct FRIENDNODE * next;
} FRDND,*pFRDND;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2022-11-4 22:20:27 | 显示全部楼层

還是炸不太出來QQ
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-4 22:48:15 | 显示全部楼层
caspar1 发表于 2022-11-4 22:20
還是炸不太出來QQ

就是链表添加、查找、删除,学了链表应该不难,就是繁琐一点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-5 18:16:18 | 显示全部楼层
jhq999 发表于 2022-11-4 22:48
就是链表添加、查找、删除,学了链表应该不难,就是繁琐一点

我再努力試試 感謝您 指標還剛入門 很多原理還不懂 謝謝您
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-5 18:32:13 | 显示全部楼层
能不能不要用繁体字啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-6 13:01:32 | 显示全部楼层
zhangjinxuan 发表于 2022-11-5 18:32
能不能不要用繁体字啊

抱歉造成困擾 我只是上來討論題目跟求助而已
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-6 14:10:19 | 显示全部楼层
caspar1 发表于 2022-11-6 13:01
抱歉造成困擾 我只是上來討論題目跟求助而已

没事,我尽量看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-6 14:20:04 | 显示全部楼层

感謝您!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-6 14:20:46 | 显示全部楼层

小弟我这堂课上周才写完 leetcode 24,他这周出了这个题目我实在无法解出来,我目前只能够只用指标去做 linked list 或 stack 之类的基础,一瞬间要炸这种扩充太多的实在没想法,想求助各位大佬帮帮忙QQ,感恩!

请使用Linked List资料结构设计一个小型的facebook功能(TinyFB):
以下为使用者可以操作的功能:
1. 若使用者没有帐号,可让使用者建立新帐号,由使用者输入帐号、密码
2. 若使用者有帐号,可直接输入帐号、密码登入系统
3. 使用者登入系统后,可以操作以下功能:   
        3.1 好友管理
                3.1.1 建立好友: 由使用者输入好友帐号, 若存在该帐号, 则建立双方互为好友
                3.1.2 删除好友: 由使用者删除某特定好友, 删除后, 双方即不是好友.   
        3.2 发文管理
                3.2.1 由使用者发表一段文字说明, 建立发文内容
                3.2.2 删除发文: 删除目前使用者之前所发表的特定文章.
                3.2.3 列出目前这个使用者的所有发文.   
        3.3 按赞:
                3.3.1 指定特定好友(也可以是自己的帐号), 列出该好友的发文清单(依照发文顺序列出)
                3.3.2 针对3.3.1的特定文章按赞.
                3.3.3 取消针对特定好友特定文章的按赞
                3.3.4 列出所有对该特定好友的特定文章按赞的好友清单. (双方若已经不是好友, 请删除该按赞)
Hint: Singly linked list有一个link为next, Doubly linked list有2个Link, 分别为next, prev.我们可定义多个资料结构, 例如(以下仅为示范, 同学可以依照自己的想法去设计)      
1. User. 里面有多个Link, 包括next, prev, friend, article等.      2. Article. 里面有文章、next, prev, 按赞的朋友姓名清单.      3. 其他(如果您认为需要第三个以上的结构来协助您开发此题目的功能)

一瞬间扩充太多啦QQ 我还只是刚入门的小新手而已,太炸裂了
再次感谢各位!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-6 14:22:50 | 显示全部楼层
caspar1 发表于 2022-11-6 14:20
小弟我这堂课上周才写完 leetcode 24,他这周出了这个题目我实在无法解出来,我目前只能够只用指标去做 l ...

感谢~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-6 14:24:07 | 显示全部楼层
嘶——看上去有点难,实现有点繁琐,实在抱歉
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-6 17:09:48 | 显示全部楼层
zhangjinxuan 发表于 2022-11-6 14:24
嘶——看上去有点难,实现有点繁琐,实在抱歉

沒事,我也還在努力、跳級跳太多完全應付不來,一起加油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-20 14:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表