⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3.cpp

📁 数据结构中的基本问题
💻 CPP
字号:
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++
//加工顺序
//作者:陈健
//学号:200153090313
//院系:信息与计算科学
//platform:windows2000pro+Visual c++ 6.0
++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
#include "stdio.h"
#include "string.h"
#define MAX_LENGTH 6

int findmin(int a[],int &n)
{
	int min = 100000,temp = 0;
	
	for(int i=0;i<n;i++)
	{
		if(min>a[i] && a[i] !=-1)
		{
			min= a[i];
			temp = i;
		}
	}
	n = temp;
	
	return min;
}
bool findexist(int a[],int n,int len)
{
	bool flag = false;

	for(int i=0;i<len;i++)
	{
		if(a[i] == n)
		{
			flag = true;
			break;
		}
	}

	return flag;
}
int quickSort(int p[],int q[],int u)
{
	int array1[MAX_LENGTH],array2[MAX_LENGTH];
	int min,len,l,k,a,b;

	len = u;
	for(int i=0;i<u;i++)
	{
		min = findmin(p,len);
		array1[i] = len;
		p[len] = -1;
		len = u;

		min = findmin(q,len);
		array2[u-i-1] = len;
		q[len] = -1;
		len = u;
	}

	l=0;
	for(int j=0;j<u;j++)
	{
		a= array1[j];
		b = array2[u-j-1];
		if(findexist(p,a,u)==false)
		{
			p[l] = a;
			l++;
		}
	
		if(findexist(p,b,u)==false)
		{
			p[l] = b;
			l++;
		}
	}
	printf("the result is(the number of the thing):\n");
	for(int m=0;m<u/2;m++)
	{
		printf("%d\t",p[2*m]);
	}
	for(int e=0;e<u/2;e++)
	{
		printf("%d\t",p[u-1-2*e]);
	}
	printf("\n");
	
	return 0;
}

void main()
{
	int array1[MAX_LENGTH];
	int array2[MAX_LENGTH];

	printf("please enter times(less than %d):\n",MAX_LENGTH);
	for(int i=0;i<MAX_LENGTH;i++)
	{
		scanf("%d",&array1[i]);
	}
	printf("please enter times(less than %d):\n",MAX_LENGTH);
	for(int j=0;j<MAX_LENGTH;j++)
	{
		scanf("%d",&array2[j]);
	}

	quickSort(array1,array2,MAX_LENGTH);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -