经典的数据结构——数组反转、链表反转、冒泡排序

原创 2016年08月31日 12:29:36

1、数组反转

void reversech(char ch[])
{
	int len = strlen(ch);
	for (int i=0; i< len/2; ++i)
	{
		char temp = ch[i];
		ch[i] = ch[len-1-i];
		ch[len-1-i] = temp;
	}
}


2、链表反转

PNode reverse(PNode head)
{
	PNode prev = NULL;
	PNode node = head;
	PNode child = node->next;
	while (node)
	{
		child = node->next;
		node->next = prev;
		prev = node;
		node = child;

	}
	return prev;
}

3、冒泡排序

void bubble_sort(int a[], int n)
{
	int i, j, temp;
	for (j = 0; j < n - 1; j++)
		for (i = 0; i < n - 1 - j; i++)
		{
			if(a[i] > a[i + 1])
			{
				temp = a[i];
				a[i] = a[i + 1];
				a[i + 1] = temp;
			}
		}
}



以上代码都可以运行。








---------------------

【数据结构】 单链表的基本操作+反转+选择/直接插入/冒泡3种排序

单链表操作

带头结点的单链表( 冒泡排序 一次遍历求中间结点的值) 链表 就地反转 倒数第k个结点

Source Code: #include using namespace std; typedef struct student { int num; struct student *...

面试中常见的数组的操作:遍历,最值,反转,冒泡排序,二分查找(附代码)

数组:存储同一种数据类型的多个元素的容器;数组中的索引从0开始,最大编号是数组的长度-1(减1); 下面给大家列出数组常见的几种操作:     A 遍历          B 获取最值     ...

数据结构(2):单向链表的反转

非递归:用3个指针反转单向链表。递归:最好画一个栈,模拟函数的递归调用过程。...
  • qcyfred
  • qcyfred
  • 2017年01月04日 21:22
  • 166

【数据结构与算法】四 链表 反转

【数据结构与算法】四 链表 reverse链表前面我们提到数组,今天我们来聊一聊链表,链表也是一基础数据结构,在很多语言原生纯在.好了,我们不废话直接自己来实现个链表练练手…C++#include s...

数据结构-反转链表详解

1. 单链表反转class ListNode{ T val; ListNode next; ListNode(T val){ this.val = val; ...
  • gwt0425
  • gwt0425
  • 2017年07月12日 19:23
  • 57

Java数据结构之链表反转

思路很简单,定义一个类,这个类分成2块,一块是表示自身的标志,另外一个存储指向下一个元素的引用。通过互换相邻两个节点的引用来达到链表反转的效果。上代码:...

数据结构与算法之链表反转

数据结构与算法之链表反转

数据结构与算法笔记(三)反转部分链表

反转部分链表上次我们搞定了反转单向链表和双向链表的问题,但实际过程中我们可能只要反转部分链表,在这种情况下我们需要对上次写出的类增加一个叫做reverse_part_linklist的函数,传入参数为...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:经典的数据结构——数组反转、链表反转、冒泡排序
举报原因:
原因补充:

(最多只允许输入30个字)