當前位置:編程學習大全網 - 網站源碼 - 用C語言對壹維數組排序,並輸出已排好元素的原來位置

用C語言對壹維數組排序,並輸出已排好元素的原來位置

簡單的思路:

定義壹個指針數組,找到b數組中元素在a數組中的地址,並存儲在指針數組對應位置。

之後將指針數組內的地址值依次取出來與a數組首地址相減,得到的就是原來的位置。

利用的原理:數組內地址是連續的!

#include?<stdio.h>

int?main()

{

int?a[5]={3,?8,?4,?7,?6},?b[5]={8,?7,?6,?4,?3},c[5],i,j,*p[5];

for(i=0;i<5;i++)

{

for(j=0;j<5;j++)

{

if(b[i]==a[j])

p[i]=&a[j];

}

}

for(i=0;i<5;i++)

c[i]=p[i]-&a[0]+1;

printf("原來的位置數組c[5]={%d,%d,%d,%d,%d}\n",c[0],c[1],c[2],c[3],c[4]);

}

  • 上一篇:請問學習fpga,請問黑金的板子好還是zrtech的好?請用過的朋友回答壹下,不要粘貼復制。謝謝了!!!
  • 下一篇:如何提取網頁中的音樂
  • copyright 2024編程學習大全網