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

📄 l9_5.cpp

📁 《C++程序设计教程》-杨国兴-电子教案及例题 C++程序设计PPT课件 html课件 例题
💻 CPP
字号:
#include <iostream.h>
template<class T>
class myArray
{
public:
	myArray(int nSize,T Initial);
	~myArray()
	{
		delete[] m_pArray;
	}
	T &operator[](int nIndex)
	{
		return m_pArray[nIndex];
	}
	void Show( int nNumElems,  char *pszMsg=" ",  bool bOneLine=true);
	void Sort(int nNumElems);

protected:
	T *m_pArray;
	int m_nSize;
};

template<class T>
myArray< T >::myArray(int nSize,T InitVal)
{
	m_nSize=(nSize>1)? nSize:1;
	m_pArray=new T[m_nSize];
	for(int i=0;i<m_nSize;i++)
		m_pArray[i]=InitVal;
}

template<class T>
void myArray< T >::Show( int nNumElems,  char *pszMsg,  bool bOneLine)
{
	cout << pszMsg<<endl;
	if(bOneLine)
	{
		for(int i=0;i<nNumElems;i++)
			cout << m_pArray[i] << ' ';
		cout << endl;
	}
	else
	{
		for(int i=0;i<nNumElems;i++)
			cout << m_pArray[i]<<endl;
	}
}

template<class T>
void myArray< T >::Sort(int nNumElems)
{
	int i, j; 
	T temp; 
	for (i = 1; i < nNumElems; i++) 
	{ 
		j = i; 
		temp = m_pArray[i]; 
		while (j > 0 && temp < m_pArray[j-1]) 
		{ 
			 m_pArray[j] = m_pArray[j-1];     
			 j--; 
		} 
      m_pArray[j] = temp; 
   } 


/*	int nOffset=nNumElems;
	bool bSorted;
	//check argument of parameter nNumbers
	if(nNumElems<2)
		return;
	do
	{
		nOffset=(nOffset*8)/11;
		nOffset=(nOffset<1)?1:nOffset;
		bSorted=true;//set sorted flag
		//compare elements
		for(int i=0,j=nOffset; i < (nNumElems-nOffset);	i++,j++)
		{
			if(m_pArray[i]>m_pArray[j])
			{
				//swap elements
				T nSwap=m_pArray[i];
				m_pArray[i]=m_pArray[j];
				m_pArray[j]=nSwap;
				bSorted=false;//clear sorted flag
			}
		}
	}while(!bSorted||nOffset!=1);
*/


}
void main()
{
	int nArr[10]={89,34,32,47,15,81,78,36,63,83};
	char cArr[10]={'C','W','r','Y','k','J','X','Z','y','s'};
	myArray<int> IntegerArray(10,0);
	myArray<char> CharArray(10,' ');

	for(int i=0;i<10;i++)
		IntegerArray[i]=nArr[i];
	for(i=0;i<10;i++)
		CharArray[i]=cArr[i];
	IntegerArray.Show(10,"Unsorted array is: ");
	IntegerArray.Sort(10);
	IntegerArray.Show(10,"Sorted array is: ");
	cout << endl ;

	CharArray.Show(10,"Unsorted array is: ");
	CharArray.Sort(10);
	CharArray.Show(10,"Sorted array is: ");
	cout << endl;
}

⌨️ 快捷键说明

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