2012년 8월 21일 화요일

[C++ STL] heap

1. max heap

// range heap example
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

int main () {
int myints[] = {10,20,30,5,15};
  vector<int> v(myints,myints+5);

  make_heap (v.begin(),v.end());
  cout << "initial max heap : " << v.front() << endl;

  pop_heap (v.begin(),v.end()); v.pop_back();
  cout << "max heap after pop : " << v.front() << endl;

  v.push_back(99); push_heap (v.begin(),v.end());
  cout << "max heap after push: " << v.front() << endl;

  sort_heap (v.begin(),v.end());

  cout << "final sorted range :";
for (unsigned i=0; i<v.size(); i++) cout << " " << v[i];

  cout << endl;

return 0;
}

Output:
initial max heap   : 30
max heap after pop : 20
max heap after push: 99
final sorted range : 5 10 15 20 99


2. min heap

#include <functional>
#include <vector>
#include <algorithm>

make_heap(v.begin(), v.end(), greater<int>());
sort_heap(v.begin(), v.end(), greater<int>());

잡다한 정보들


eclipse가 잘 되다가 안될 때
http://blog.naver.com/youmitu?Redirect=Log&logNo=6013355360

효과적인 구글검색방법
http://boribab.tistory.com/3297
http://killereco.tistory.com/28

입력버퍼 비우는 법
http://plustag.tistory.com/1
난 scanf는 자동으로 버퍼 비워주는 줄 알았는데.. 지금까지 잘못알았다. 늘어가는 삽질
fflush함수는 gcc표준으로는 출력버퍼를 비우는 것

http://blog.naver.com/PostView.nhn?blogId=chamsol79&logNo=140010284718&parentCategoryNo=6&viewDate=&currentPage=1&listtype=0


깨알같은 윈도우 단축키

http://youni.biz/technote01/board.php?board=tag&command=body&no=348&PHPSESSID=a6c769576dac3dc12ca7d8af0c9768dc


인터넷 익스플로러 사용할 때 딸깍 거리는 소리, 이어폰 끼면 거슬리는데 없애는 법
http://blog.naver.com/dalsapcho?Redirect=Log&logNo=20133956172


MIPS instruction 정리
http://blog.naver.com/kain_hoon?Redirect=Log&logNo=140012329014

li
move
http://en.wikibooks.org/wiki/MIPS_Assembly/Pseudoinstructions

MIPS wiki
http://en.wikipedia.org/wiki/MIPS_architecture



c++ Reference
http://www.cplusplus.com/reference/

mysql 권한 설정 (http://iplusu.tistory.com/292)
Windows에서 첫 설치시 암호를 설정하게 되면 root@localhost로 로그인할 권한이 없다면서 서비스 시작시 Error 1045를 내 뱉는다.
검색결과 재설치를 하는것이 가장 좋은 방법이라고들 하지만 다른 방법도 있다는 것을 적고싶다.

우선 cmd 창을 열고 mysql 서비스를 중지시킨다.

>> net stop mysql
여기서 에러가 나면 관리옵션의 서비스에서 직접 종료시킨다.

비인증로그인이 가능하도록 mysql을 다시 실행시킨다.

>> mysqld --skip-grant
>> mysql -uroot mysql

이제 비밀번호가 없어도 root 권한으로 mysql을 사용할 수 있다.
mysql DB를 열고 암호를 재설정한 뒤 권한을 부여한다.

>> use mysql;
>> update user set password=PASSWORD('1111') where user='root';
>> flush privileges;
>> grant all on *.* to 'root'@'localhost' identified by '1111' with grant option;
>> flush privileges;
>> exit

이제 mysql을 다시 재실행시키면 정상적으로 작동한다.


C++ map example
http://blog.newms.org/41

C++ iterator
http://blog.naver.com/dntjd207?Redirect=Log&logNo=90138446903



아침부터 해상도 때문에 삽질

"Got this error if my device resolution doesn't fit my PC screen.
For example my laptop resolution is 1366x768.
- WVGA800 (480x800) - OK
- WXGA800 (800x1280) - fail (failed to allocate memory)"

AVD 만들 때 램과 해상도를 고려

200개의 단계별 예제로 배우는 안드로이드 4.0 자료 링크
http://www.androidside.com/bbs/board.php?bo_table=823&wr_id=90