java版快速排序

8-02 5,902

public class QuickSort {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		int data[] = {12,34,56,7,78,345,5,6,890};
		System.out.print("排序前:");
		for(int i : data) {
			System.out.print(" "+i);
		}
		quickSort(data,0,data.length - 1);
		System.out.println();
		System.out.print("排序后:");
		for(int i : data) {
			System.out.print(" "+i);
		}

	}

	public static void quickSort(int[] data, int low, int high) {
		 int i = low;
		 int j = high;
		if(low < high) {
			//key:作为比较的元素
			  int key = data[low];
			 // 从数组两端交替地向中间扫描;i从左边开始,j从右边开始
			 while (i < j) {
				  while (i < j && data[j]  > key) {//从右边查找
					  	j--;
				   }
				  if (i < j) {
					  //找到比key小的,移动到左边
					  data[i] = data[j];
					  i++;
				  }
				  while (i < j && data[i] < key) {//从左边查找
					  i++;
				  }
				  if (i < j) {
					  // 找到比key大的,移动到右边
					  data[j] = data[i];
					  j--;
				  }
			 }
			 //key移动到正确位置
			 data[i] = key;
			 // 前半部分递归排序
			 quickSort(data,low, i - 1);
			 // 后半部分递归排序
			 quickSort(data,i + 1,high);
		}

		}

}

lua面向对象模拟简介

lua不是面向对象语言,但可以通过表(table)和元表(metatable)来模拟。table 是 lua 中唯一的一种数据结构,它可以用来描述原始的数组、符号表、集合、 记录、...

阅读全文

在c/c++中调用lua函数

上篇文章完成了在lua中调用c/c++函数,现在来实现在c/c++中调用lua函数。 首先完成lua代码,创建sum.lua: function add(x, y) return x + y; end 为了...

阅读全文

在lua中调用c/c++函数

lua是一种轻量级的脚本语言,用来扩展c和c++非常好,在游戏开发中使用很普遍。 首先下载lua,因为我是在win7下,所以我这里下载了luaforwindows,安装到F:\Lu...

阅读全文

欢迎留言