先判断长度是不是相等
如果相等
用数组一中每个元素去分别和二中的比,只要在二中都能找到相等的,那个元素就被标记一下,下次不和他比
最后二中的都被标记了,说明完全相等
你自己实现吧
我感觉这个想法应该没错呢~~有什么不对的望提出啊~~
这两个数组肯定不等啊,数组相等就只有里面元素及其顺序完全一致才行
数组{1,2,3,4}和{2,1,4,3}相等吗?
/*程序已测试OK*/
#include "stdio.h"
#include "conio.h"
int a[]={9,2,3,7,1,4,2,6,21,8};
int b[]={9,2,3,7,1,4,2,6,21,8};
/************************************************************/
/*排序 */
/* *Block 指向数组的指针 */
/* Quantity 数据总数 */
/************************************************************/
void Seqencing(int *Block,unsigned int Quantity)
{
unsigned int i,j;
int n;
for(i=0;i { for(j=i+1;j { if(*(Block+i)>*(Block+j)) { n=*(Block+j); *(Block+j)=*(Block+i); *(Block+i) = n; } } } } /***********************************************************/ /*求是否相等 */ /*Quantity 数据总数 */ /***********************************************************/ char Compare(unsigned int Quantity) { int size1,size2; unsigned int i; if(sizeof(a) == sizeof(b)) { for(i = 0; i { if(a[i] != b[i])return 0; /*如果有不相等的则返回 0*/ } return 1; } else return 0; /*都相等的则返回 1*/ } void main() { int block; unsigned int i; block = sizeof(a)/2; /*计算数组数据个数*/ Seqencing(a,block); /*对数组进行排序*/ printf("\n\n-------------------------------------------------------------------------------\n\n"); for(i=0; i { printf("a:%d\t",a[i]); /*输出排序结果*/ } printf("\n\n-------------------------------------------------------------------------------\n\n"); block = sizeof(b)/2; Seqencing(b,block); printf("\n\n-------------------------------------------------------------------------------\n\n"); for(i=0; i { printf("b:%d\t",b[i]); } printf("\n\n-------------------------------------------------------------------------------\n\n"); if(Compare(block)) /*判断数组是否相等*/ printf("result: a = b");/*输出判断结果*/ else printf("result: a != b"); getch(); }