Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

WanderROS/QSS_Demo

Repository files navigation

简介

在进行算法描述之前进行了数据结构的知识的学习,大部分都是基础知识的学习与概念上的认知,没有涉及太多的程序,从这一部分开始,主要进行代码上的编写与调试!首先从简单的算法起步,逐步深入!

命名空间

命名空间是ANSIC++引入的可以由用户命名的作用域,用来处理程序中常见的同名冲突。 命名空间:实际上就是一个由程序设计者命名的内存区域,程序设计者可以根据需要指定一些有名字的空间域,把一些全局实体分别放在各个命名空间中,从而与其他全局实体分隔开来。

 namespace ns1
 {
 int a;
 double b;
 }

namespace 是定义命名空间所必须写的关键字,ns1 是用户自己指定的命名空间的名字(可 以用任意的合法标识符,这里用ns1是因为ns是namespace的缩写,含义请楚),在花括号内是声明块,在其中声明的实体称为命名空间成员(namespace member)。现在命名空间成员包括变量a和b,注意a和b仍然是全局变量,仅仅是把它们隐藏在指定的命名空间中而已。如果在程序中要使用变量a和b,必须加上命名空间名和作用域分辨符"::",如ns1::a,ns1::b。这种用法称为命名空间限定(qualified),这些名字(如ns1::a)称为被限定名 (qualified name)。C++中命名空间的作用类似于操作系统中的目录和文件的关系,由于文件很多,不便管理,而且容易重名,于是人们设立若干子目录,把文件分别放到不同的子目录中,不同子目录中的文件可以同名。调用文件时应指出文件路径。

namespace Helper{
	int * generatearray(int n,int arrH,int arrL)
	{
		assert(arrH>=arrL);
		int * arr=new int[n];
		cout<<"address= "<<arr<<endl;
		srand((unsigned )time(NULL));
		for(int i=0;i!=n;++i)
		{
			arr[i]=rand()%(arrH-arrL+1)+arrL;
		}
		return arr;
	}
	template <typename T>
	void printArray(T arr[],int n) 
	{
		for(int i=0;i!=n;++i)
		{
			cout<<arr[i]<<" ";
		}
		cout<<endl;
	}
}

在这里我们创建了一个Helper的命名空间,其中有一个创建任意大小的数组的函数generatearray以及一个打印数组的函数printArray。我们在程序中使用的时候需要加上Helper::来限定命名空间,例如:Helper::generatearray,Helper::printArray。

选择排序

选择排序在很多书里都有介绍,这里不再进行描述,只是列出代码。

void selectSort(int arr[],int size)
{
	for(int i=0;i<size;i++)
	{
		int minIndex=i;
		for(int j=i+1;j<size;j++)
		{
			if(arr[j]<arr[minIndex])
				minIndex=j;
		}
		swap(arr[i],arr[minIndex]);
	}
}

About

a qt project that could generate qss stylesheet!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /