带头结点的单链表,查找倒数第k个元素。(写出设计思想和用c或c++写出程序)

带头结点的单链表,查找倒数第k个元素。(写出设计思想和用c或c++写出程序)

第1个回答  2015-12-11

追答

嘎嘎

带头结点的单链表,其长度存放在头结点的数据域中,设计一算法求倒数第...
设单链表的长度为n,要查找表中第i个结点(即你要确定的第K个位置),仅当1≦i≦n时,i的值是合法的。但有时需要找头结点的位置,故我们将头结点看做是第0 个结点,其算法如下:Listnode * getnode(linklist head , int i){ int j;listnode * p;p=head;j=0;while(p–>next && j<I...

编写程序,建立一个带有节点的单向链表,输入字符串,并按从小到大顺序组织...
int main(){ Link head; \/\/链表(不带头节点)int n;printf("输入链表的长度n: ");scanf("%d",&n);printf("连续输入%d个数据(以空格隔开): ",n);head=CreateLink(n);printf("\\n原本链表的节点是: ");DispLink(head);LinkSort(head);printf("\\n从大到小排序之后: ");DispLink(head)...

数据结构:设计一个算法将一个带头结点的单链表A分解成两个带头结点的...
VisitList(headPtrA); \/* 打印分解前的链表 *\/ if (headPtrA != NULL) \/* 链表不空的情况对其进行分解 *\/ { Decompose(&headPtrA, &headPtrB, &tailPtrB); \/* 对链表进行分解*\/ } else { printf("headPtrA is empty.\\n");} VisitList(headPtrA); \/* 打印分解后的链表 *\/ Visit...

用C语言编写一个算法,实现有序链表的插入。链表有序且不允许有重复元素...
如代码所示,c++语言,设带头节点的单链表L是一个递增有序表,试写一个函数,将x插入L中,并使L仍是一个有序表。望采纳!

有一个线性表(a1,a2,...,an),采用带头结点的单链表L存储.设计一算法将...
LinkList p=L->next; \/* p指向第一个结点 *\/ while(p){ i++;p=p->next;} return i;} \/* 初始条件:顺序线性表L已存在,1≤i≤ListLength(L) *\/ \/* 操作结果:用e返回L中第i个数据元素的值 *\/ Status GetElem(LinkList L,int i,ElemType *e){ int j;LinkList p; \/* ...

数据结构作业~急求~~~用c语言或c++ 使用单链表实现系统进程列表,完成...
一、单链表的建立 有了动态内存分配的基础,要实现链表就不难了。所谓链表,就是用一组任意的存储单元存储线性表元素的一种数据结构。链表又分为单链表、双向链表和循环链表等。我们先讲讲单链表。所谓单链表,是指数据接点是单向排列的。一个单链表结点,其结构类型分为两部分:1、数据域:用来存储...

...若X和Y是两个单链表存储的串,编写一个程序找出X中第一个不在Y中...
若X和Y是两个单链表存储的串,编写一个程序找出X中第一个不在Y中出现的字符这是算法:char findfirst (x, y )linkstring *x, *y;{linkstring *p;char c;p = x;if (x==NULL) printf("x 为空\\n");else {while (found(p ->data,y))p=p->link;c=p->data;}return(c);}int found(d,head...

建立含有n个数据元素的带头结点的单链表,依次输出该表中各元素的值...
typedef struct _node_{ int value;_node_ *next;}NODE,*P_NODE;P_NODE head = NULL;void init_list();void create_list(int cnt);void display_list();void rotate_list();int main(){ init_list(); \/\/ 初始化头结点 create_list(5); \/\/ 创建5个元素的单链表 printf("===\\n"...

用算法实现:单链表和顺序表删除。删除顺序表中值相同的多余结点
struct node * next; \/\/链表中指针域 }RecNode; \/\/记录结点类型 typedef RecNode * LinkList ; \/\/单链表用LinkList表示 void InsertSort(LinkList head) {\/\/链式存储结构的直接插入排序算法,head是带头结点的单链表 RecNode *p,*q,*s; if ((head->next)&&(head->next->next))\/\/当表中含有结点数...

数据结构单链表应用:编写一个完整的C++语言程序,输入信息:学生的学号...
\/\/ 链表e.cpp : Defines the entry point for the console application.\/\/ include "stdafx.h"include <string.h> include <iostream.h> include <stdio.h> include <stdlib.h> include <malloc.h> \/*---结构体定义部分---*\/ struct Node { char name[10];int score;struct Node *next;...

相似回答