一個整數陣列,10個元素左右。
有啥 簡單的方法排序?
謝謝。
uj5u.com熱心網友回復:

我早期寫的冒泡排序
#include <stdio.h>
#define ARRAYNUM 5
int main(int argc, char *argv[])
{
int array[ARRAYNUM] = {5, 1, 9, 3, 15};
int i = 0, j = 0;
int tmp = 0;
for( i = 0 ; i < ARRAYNUM ; i++ )
{
for( j = 0 ; j < i ; j++ )
{
if( array[j] > array[j+1])
{
tmp = array[j];
array[j] = array[j+1];
array[j+1] = tmp;
}
}
}
printf("array after sort[1->n]:\n");
for( i = 0 ; i < ARRAYNUM ; i++ )
{
printf("%d ", array[i]);
}
printf("\n");
for( i = 0 ; i < ARRAYNUM ; i++ )
{
for( j = ARRAYNUM -1 ; j > i ; j-- )
{
if( array[j] > array[j-1])
{
tmp = array[j];
array[j] = array[j-1];
array[j-1] = tmp;
}
}
}
printf("array after sort[n->1]:\n");
for( i = 0 ; i < ARRAYNUM ; i++ )
{
printf("%d ", array[i]);
}
printf("\n");
return 0;
}
uj5u.com熱心網友回復:
// simple bubble sort is adequate for small number of tabs
void CRulerBar::SortTabs()
{
int i,j, nPos;
for (i=0;i<MAX_TAB_STOPS - 1;i++)
{
for (j=i+1; j < MAX_TAB_STOPS;j++)
{
if (m_pTabItems[j].GetHorzPosTwips() < m_pTabItems[i].GetHorzPosTwips())
{
nPos = m_pTabItems[j].GetHorzPosTwips();
m_pTabItems[j].SetHorzPosTwips(m_pTabItems[i].GetHorzPosTwips());
m_pTabItems[i].SetHorzPosTwips(nPos);
}
}
}
}
uj5u.com熱心網友回復:
vector<int>v;
v.reserve(10);
for(int i=0;i<10;i++)
v.push_back(rand()%20);
sort(v.begin(),v.end());
uj5u.com熱心網友回復:
10個元素,什么方法都行void sort(int* pA,int n)
{
int Temp,Temp1;
for(int i=0,i<n;i++)
{
Temp=pA[i];
for(int j=i+1;j<n;j+++)
{
if(Temp>pA[j])
{
Temp1=pA[j];
pA[j]=Temp;
Temp=Temp1;
}
}
pA[i]=Temp;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/60995.html
標籤:基礎類
