當前位置:編程學習大全網 - 熱門推薦 - 急求!!!用c語言編寫壹個qsort函數,要求是對壹個二位數組按每壹個元素最後壹個元素從小到大排序

急求!!!用c語言編寫壹個qsort函數,要求是對壹個二位數組按每壹個元素最後壹個元素從小到大排序

先看程序的運行結果,看是不是妳需要的。

代碼如下,有不清楚的可以追問

#include?<stdio.h>

#include?<stdlib.h>

#include?<string.h>

int?printArray(int?array[][2],?int?dim1,?int?dim2?);

int?swap(int?*a,?int?*b);

int?qsort(int?array[][2]);

int?main()

{

int?array[6][2]?=?{4,?9,?2,?6,?4,?5,?1,?2,?1,?7,?2,?4};

printf("排序前:\n");

printArray(array,?6,?2);

qsort(array);

printf("排序後:\n");

printArray(array,?6,?2);

return?0;

}

int?qsort(int?array[][2])

{

int?i?=?0;

int?j?=?0;

for(?i?=?0;?i?<?6;?i++)

{

for(j?=?i+1;?j?<?6;?j++)

{

if(*(*(array+i)+1)?>?*(*(array+j)+1))

{

swap(&*(*(array+i)+0),?&*(*(array+j)+0));

swap(&*(*(array+i)+1),?&*(*(array+j)+1));

}

}

}

return?0;

}

int?swap(int?*a,?int?*b)

{

*a?=?(*a)?+?(*b);

*b?=?(*a)?-?(*b);

*a?=?(*a)?-?(*b);

return?0;

}

int?printArray(int?array[][2],?int?dim1,?int?dim2?)

{

int?i?=?0;

int?j?=?0;

for(?i?=?0;?i?<?dim1;?i++)

{

for(j?=?0;?j?<?dim2;?j++)

{

printf("%d?",?*(*(array+i)+j));

}

printf("\n");

}

return?0;

}

  • 上一篇:如何做好會議錄音整理工作?
  • 下一篇:天亮是什麽時辰
  • copyright 2024編程學習大全網