设为首页 加入收藏

TOP

C语言线性单链表相关函数和算法的基本实现详细教程(二)
2018-05-28 09:03:26 】 浏览:399
Tags:语言 线性 单链表 相关 函数 算法 基本 实现 详细 教程
p->next; while(p->next) { while(q) { if(p->data>q->data) { int e = p->data; p->data = q->data; q->data = e; q = q->next; } else { q = q->next; } } r = r->next; p = p->next; q = p->next; } return OK; } }

删除链表中所有元素值大于x的结点:

int deleteAGTX(linkedList L,int x) 
{
	if(L->next==NULL){return ERROR;}
	else{
		Node *p = L;
		while(p->next)
		{
			if(p->next->data>x)
			{
				Node *temp = p->next;
				p->next = p->next->next;
				free(temp);
			}
			else{
				p = p->next;
			}
		}
		return OK;
	}
}

将链表中所有负数前置并排序:

//负数在前排序 
int negativePriority(linkedList L)
{
	if(L->next==NULL){return ERROR;}
	else{
		Node *p = L;
		while(p->next)
		{
			if(p->next->data<0)
		 {
			  Node *temp = p->next;
			  p->next = temp->next;
			  temp->next = L->next;
			  L->next = temp;
		 }
		 else{p = p->next;}
		}
		return OK;
	}
} 

南京航空航天大学922部分真题:

//2014真题-数据结构6
int _2014_T6(linkedList L)
{
	if(L->next==NULL){return ERROR; }
	else{
		Node *p = L;
		Node *t = NULL;
		Node *s = NULL;
		int count = 1;
		while(p->next)
		{
			if(count%2==0)
			{
				t = p->next;
				p->next = p->next->next; //关键步骤 
				t->next = s;
				s = t;
			}
			else{
				p = p->next;
			}
			count++;
		}
		p->next = s;
		return OK;
	}
} 

//2015真题数据结构6
int _2015_T6(linkedList L)
{
	if(L->next==NULL){return ERROR; }
	else{
		Node *p = L->next;
		Node *q = L->next;
		Node *t = L;
		Node *top = NULL;
		while(p->next)
		{
			while(q->next)
			{
				i
		    

f(q->next->data>p->data) { p = q->next; t = q; q = q->next; } else{ q = q->next; } } t->next = t->next->next; p->next = top; top = p; t = L; p = q = L->next; } p->next = top; return OK; } } //2013真题数据结构6 int _2013_T6(linkedList La,linkedList Lb) { if(La->next==NULL){return ERROR;} else{ Node *a = La; Node *b = Lb; int element; while(a->next) { element = a->next->data; while(b->next) { if(b->next->data==element){break;} else{b = b->next;} } if(b->next==NULL) { Node *t = a->next; a->next = a->next->next; free(t); } else{a = a->next;} b = Lb; } a = La; while(a->next) { Node *p = La->next; int e; while(p->next) { if(p->next->data>a->next->data) { e = a->next->data; a->next->data = p->next->data; p->next->data = e; } p = p->next; } a = a->next; } return OK; } } //2011真题-数据结构24 int _2011_T24(linkedList L) { if(L->next == NULL){return ERROR;} else{ Node *p = L; int element = p->next->data; while(p->next) { if(element>p->next->data) { element = p->next->data; } p = p->next; } p = L; while(
编程开发网
首页 上一页 1 2 3 4 下一页 尾页 2/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇异常和Bug、异常和BUG的对比和C语.. 下一篇冒泡排序算法C语言代码测试总结

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

array(4) { ["type"]=> int(8) ["message"]=> string(24) "Undefined variable: jobs" ["file"]=> string(32) "/mnt/wp/cppentry/do/bencandy.php" ["line"]=> int(217) }