本文在链表操作的基础上,编写一个简易的手机通讯录,实现通讯录上对联系人的添加,删除,查找,排序等功能
#include <stdio.h>
#include <string.h>#include <stdlib.h>
#define LEN sizeof(struct content)
typedef struct content
{
char name[20];
int number;
struct content *next;
}CON;
CON * init_content()
{
CON *head;
head=(CON *)malloc(LEN);
if(head==NULL)
{
printf("ERROR\n");
}
head->next=NULL;
printf("\n");
printf(">>>>INIT IS GOOD!<<<<\n");
printf("\n");
return head;
}
void print_content(CON *head)
{
CON *p;
p=head->next;
if(p==NULL)
printf("PLEASE CREATE YOUR CONTENT!\n");
while(p!=NULL)
{
printf("%s %d\n",p->name,p->number);
p=p->next;
}
}
CON * create_content(CON *head)
{
CON *p;
head = (CON *)malloc(LEN);
//head->next = NULL; /* 先建立一个带头结点的单链表 */
p=head->next;
while(1)
{
p = (CON *)malloc(LEN); /* 生成新结点 */
printf(">> NAME :");
scanf(" %s", &p->name);
if(strcmp(p->name,"*")==0)
break;
printf(">> NUMBER :");
scanf("%d", &p->number);
p->next = head->next;
head->next = p; /* 插入到表头 */
}
printf("******************\n");
return head;
}
CON * insert_content(CON *