設計背景
生活當中,我們每天需要處理各種各樣的事務,隨著處理事務的增多,我們也會出現遺忘的現象,為了避免遺忘一些重要的事情,我們可將這些任務記錄下來,形成乙個任務清單,並且按照任務的重要性給任務編寫優先順序。
設計功能
任務清單的功能有:
新增任務:
首先輸入新增任務的個數,然後按照顯示的提示,分別輸入任務的時間,優先順序序號(優先順序高、中、低序號分別為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語言有三年了,但是僅僅是皮毛,而且在學校也很少用,現在為做畢設,用到佇列,發現已經忘得一乾二淨,於是重新翻書,寫此算做筆記。內容如有不當還請諸位指出。佇列 是一種線性表...