下载此文档

笔记动态链表操作.docx


文档分类:经济/贸易/财会 | 页数:约4页 举报非法文档有奖
1/4
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/4 下载此文档
文档列表 文档介绍
上午:
动态链表的创建之头插法:
让新来的节点有所指向,即指向首元素的地址。让头结点的next指向新来的节点。
链表的长度不包含头节点。
下午:
链表的操作:
int lenList(Node *head)//求长度
{
int len = 0;
head = head->next;
while(head)
{
len++;
head = head->next;
}
return len;
}
Node *createListHead()//创建头节点
{
Node *head = (Node *)malloc(sizeof(Node));
head->next = NULL;
return head;
}
void insertList(Node *head, int data)//插入一个新的节点并赋值
{
Node *cur = (Node *)malloc(sizeof(Node));
cur->data = data;
cur->next = head->next;
head->next = cur;
}
void traverList(Node *head)//遍历打印链表
{
head = head->next;
while(head)
{
printf("%3d", head->data);
head = head->next;
}
putchar(10);
}
Node * findListData(Node *head, int findData)//在head为头节点的链表中查找findData ,找到返回该数据节点的指针,否则返回NULL
{
head = head->next;
while(head)
{
if(head->data == findData)
break;
head = head->next;
}
return head;
}
void deleteListPoint(Node *head, Node *delP)//删除delP所指向的节点
{
while(head->next != delP)
head = head->next;
head->next = delP->next;
free(delP);
}
void popSortList(Node *head, int len)//冒泡排序之数值交换
{
for(int i = 0; i<len-1 ;i++)
{
Node *t = head->next;
for(int j = 0; j<len -1-i; j++)
{
if(t->data > t->next->data)
{
t->data = t->data ^ t->next->data;
t->next->data = t->data ^ t->next->data;
t->data = t->data ^ t->next->data;
}
t = t->next;//不管有没有交换t都要往前进一位
}
}
}
void pitPopSortLi

笔记动态链表操作 来自淘豆网www.taodocs.com转载请标明出处.