在计算机科学中,数据结构是计算机中存储、组织数据的方式。
正确的数据结构选择可以提高算法的效率。在计算机程序设计的过程中,选择适当的数据结构是一项重要工作。许多大型系统的编写经验显示,程序设计的困难程度与最终成果的质量与表现,取决于是否选择了最适合的数据结构。
1.两数之和
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int* twoSum(int* nums, int numsSize, int target, int* returnSize){
int *ret = (int *)malloc(sizeof(int)*2);
for(int i = 0;i<numsSize-1;i++){
for(int j = i+1;j<numsSize;j++){
if(nums[i] + nums[j] == target){
ret[0] = i;
ret[1] = j;
*returnSize = 2;
return ret;
}
}
}
return ret;
}
88. 合并两个有序数组
int cmp(int *a, int *b){
return *a - *b;
}
void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n){
for(int i = 0;i<n;i++){
nums1[m+i] = nums2[i];
}
qsort(nums1,m+n,sizeof(int),cmp);
}