任務清單(資料結構作業設計)

2021-09-22 09:57:53 字數 2293 閱讀 1329

設計背景

生活當中,我們每天需要處理各種各樣的事務,隨著處理事務的增多,我們也會出現遺忘的現象,為了避免遺忘一些重要的事情,我們可將這些任務記錄下來,形成乙個任務清單,並且按照任務的重要性給任務編寫優先順序。

設計功能

任務清單的功能有:

新增任務:

首先輸入新增任務的個數,然後按照顯示的提示,分別輸入任務的時間,優先順序序號(優先順序高、中、低序號分別為1、2、3),以及任務內容。

刪除已完成任務。

按照任務優先順序排序:

即按照任務優先順序的高、中、低的順序將任務排序,先顯示比較重要的任務。

4.顯示當前任務表。

設計**

任務清單**主要通過鍊錶實現,主要有建立鍊錶,運用選擇法進行鍊錶中內容的排序,刪除鍊錶,顯示鍊錶。

#include

#include

#define ok 1

#define error 0

typedef

int status;

建立結構體,結構體中元素有日期(年、月、日),任務優先順序序號,任務(定義為字元),以及next域。

typedef

struct lnodelnode,

*linklist;

通過建立鍊錶l建立任務表,鍊錶中逆序輸入各任務

status creatlist_l

(linklist &l,

int num)

}

將任務按照選擇法進行優先順序排序,選擇法排序鍊錶中的資料。

/*任務按照選擇法進行優先順序排序*/

status comparetask

(linklist &l)

for(prep1=head,p1=prep1-

>next ;p1-

>next !=

null

;prep1=prep1-

>next ,p1=prep1-

>next )

}//找到兩者之間的最小值

if(p1!=min)

else

//兩個比較的數不相鄰 }}

printf

("任務已排序\n");

}

任務表的顯示

//任務表的顯示

void

listprint_l

(linklist l,

int num)

}

刪除任務

/*刪除任務*/

status listdelet_l

(linklist &l,

int i,

int&num)if(

!p||j>i-1)

return error;

q=p-

>next;

p->next=q-

>next;

free

(q);

num-=1

;printf

("任務已刪除\n");

return num;

}

主函式

main()

if(flag==2)

if(flag==3)

if(flag==4)

if(flag==5)

break;}

return ok;

}

**執行任務清單執行介面

新增三項任務

將三項任務按優先順序排序並輸出當前任務列表

刪除第二項任務並輸出列表

結束功能

簡單資料結構

編碼定義的變數在執行時的會存放在記憶體中的靜態儲存區 棧區或堆區 1.申請一塊連續的空間 陣列 可以存放在上述的三個區中 2.申請可變長的空間 鍊錶 只能存放在堆區中 其他所有的資料結構在記憶體中存放時,都只能是陣列或者鍊錶的結構,只是在 邏輯上怎麼使用而已。棧的使用 後進先出 計算簡單加減乘除式子...

簡單資料結構

一 樹狀陣列 樹狀陣列是一種支援單點修改區間查詢的資料結構,這個陣列是以二進位制的形式儲存的,例如7的二進位制是111,最右邊1代表1,那麼c 7 就是從a 7 往前1個數這個區間所有a陣列值的和,再例如8的二進位制是1000,最右邊的1代表8,那麼c 8 就代表從a 8 往前8個數 1 8 這個區...

簡單資料結構 佇列

第一次發csdn部落格,有點小激動,因為自己看了不少csdn裡的大牛的博文,很崇拜。心想著什麼時候自己也寫一篇。現在是時候了。接觸c語言有三年了,但是僅僅是皮毛,而且在學校也很少用,現在為做畢設,用到佇列,發現已經忘得一乾二淨,於是重新翻書,寫此算做筆記。內容如有不當還請諸位指出。佇列 是一種線性表...