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

📄 新建 文本文档.txt

📁 实现直接插入排序 要求:封装成一个函数
💻 TXT
字号:
void DirectInsertSort(bool bOrder,bool bPrintEveryStep, long * array,long arraysize)     
{
	long i,j;
	if(bOrder==1)                       //升序
	for(i=2;i<=arraysize;i++)
	{	if(array[i]<array[i-1])
		{
		  array[0]=array[i];
	      array[i]=array[i-1];
	    for(j=i-1;array[0]<array[j];--j)
			array[j+1]=array[j];
		array[j+1]=array[0];
		}
	if(bPrintEveryStep==1)
	{   cout<<"第"<<i-1<<"趟排序结果:";  //每趟排序结果输出
		for(long n=1;n<arraysize+1;n++)
			cout<<array[n]<<",";
			cout<<endl;
	}
	}
	if(bOrder==0)                        //降序
      for(i=2;i<=arraysize;i++)
	  {	 
		  if(array[i]>array[i-1])
		{
		  array[0]=array[i];
	      array[i]=array[i-1];
	    for(j=i-1;array[0]>array[j];--j)
			array[j+1]=array[j];
		array[j+1]=array[0];
		}
		  if(bPrintEveryStep==1)
		  {cout<<"第"<<i-1<<"趟排序结果:";
        	for(long n=1;n<arraysize+1;n++)
			cout<<array[n]<<",";
			cout<<endl;
		  }
	}
}


void BubbleSort(bool bOrder,bool bPrintEveryStep, long * array, long arraysize) 
{
	long n,temp;
	if(bOrder==1)
	for(int pass=1;pass<arraysize;pass++)
	{
		for(n=1;n<arraysize-pass;n++)
			if(array[n]>array[n+1])
			{
				temp=array[n];array[n]=array[n+1];
				array[n+1]=temp;
			}
			if(bPrintEveryStep==1)
			{   
			    
			cout<<"第"<<arraysize-n<<"次排序结果:";
			for(n=1;n<arraysize;n++)
			cout<<array[n]<<"  ";
		     cout<<endl;
			}
	
	}
    if(bOrder==0)
	for(int pass=1;pass<arraysize;pass++)
	{
		for(n=1;n<arraysize-pass;n++)
			if(array[n]<array[n+1])
			{
				temp=array[n];array[n]=array[n+1];
				array[n+1]=temp;
			}
            if(bPrintEveryStep==1)
			{
	        cout<<"第"<<arraysize-n<<"次排序结果:  ";
			for(n=1;n<arraysize;n++)
			cout<<array[n]<<", ";
		     cout<<endl;
			}
	
	}

}

⌨️ 快捷键说明

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