用鍊錶做簡易的通訊錄
node.h 檔案
#ifndef _node_h_
#define _node_h_
#define true 0
#define error -1
#define flast -2
typedef int data;
typedef struct _node
node;
typedef node *head;
//建立鍊錶並新增聯絡人
int create(head k,data id,long phone,char *name );
//按名字進行排序
head selectsort(head pa);
//查詢聯絡人
void find(head pa,char *name);
//刪除聯絡人
void delete(head pa,char *name);
//列印所有聯絡人資訊
void displayall(head k);
//列印當前建立的聯絡人資訊
void display(head k);
//主選單
int menu();
//功能選單
int funmeun();
//功能選擇
int select();
#endif// _node_h_
node.c 檔案
#include "node.h"
#include #include #include int create(head k,data id,long phone,char *name )
temp->next=node;
return true;
}head selectsort(head pa)
} if(first==null)//如果有序鏈表現在還是乙個空鍊錶
else//鍊錶中有結點
if(min==pa)//找到最小節點就是第乙個結點
else//如果不是第乙個結點
}if(first!=null)
pa=first;
return pa;
}void find(head pa,char *name)
else if(p2->next==null&&(strcmp(p2->name,name)==0))
p1=p1->next; }}
void delete(head pa,char *name)
else if(p2->next==null&&(strcmp(p2->name,name)==0))
p1=p1->next; }}
void displayall(head k)
printf("\n");
}void display(head k)
temp=temp->next;
} printf("\n");
}int menu()
int funmeun()
int select()
else
}return choice;
}
main.c檔案
#include "node.h"
#include #include int main()
head_node->next=null;
menu();
while(1)
break;
case 1:
}display(head_node);
head_node= selectsort(head_node);
funmeun();
}break;
case 2:
break;
case 3:
break;
case 4:
break;
default:
} }
return 0;
}
資料結構(三)
輸入分2行,每行分別先給出多項式非零項的個數,再以指數遞降方式輸入乙個多項式非零項係數和指數 絕對值均為不超過1000的整數 數字間以空格分隔。輸出分2行,分別以指數遞降方式輸出乘積多項式以及和多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。零多項式應輸出0 0。4 3 4 5 2...
資料結構(三)
一 以查詢為基礎的演算法設計 1 按照條件進行節點查詢 2 進行插入或者刪除操作 例一 找到乙個單鏈表除表頭外,其內部的最大值並將它刪除 假設單鏈表內的最大值唯一 分析 這個例子中我們要做的有兩件事,一件事是找到單鏈表內的最大值,另一件是刪除最大值。那麼接下來我們分別去考慮如何實現這兩件事情,再將它...
資料結構三
討論 兩個函式 g f 在函式 g 中呼叫函式 f 那麼 在f 中系統為f 分配的那些記憶體,在 g 中結束f 後,g 是否可以使用這塊記憶體 我們知道,當f 結束後,f 就沒有了 但是在呼叫f 的過程中 記憶體確實是為f 分配了一塊記憶體 是否可以在g 的下面 繼續呼叫這塊記憶體的東西 inclu...